ОБСУЖДЕНИЕ

Разбухание кэша программы при ошибочном Sql-запросе к БД

3 ответов 4,8 тыс.
Автор темы
Помогите пожалуйста разобраться со следующей проблемой.
Перепробовал MySQL, MS SQL Server. Подключался через BDE, ADO.
Для тестирование в цикле выполняю ошибочный запрос к БД. При этом идет рабухание программы.
Но если окно программы свернуть в таскбар и востановить, то память, занимаемая программой, уменьшается. Можно ли от этого избавиться либо есть ли команда сброса буферов кэша программы?
 
SetProcessWorkingSetSize(Process, -1, -1)
 
Я разобрался в этой проблеме. Загвоздка оказалась в обрабоки исключительных ситуаций.
При возникновении эксепшена сознается соответстующий класс дочерний к Exception. И если его не обработа в секции catch, а указать просто catch(...), то память, выделенная под класс эксепшена не освобождается. Таким образов в ADO следует обработать EOleException, а в BDE - EDBEngineError