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

Тема в разделе "Borland C++ Builder & Kylix", создана пользователем sergushkin, 21 мар 2007.

Наш партнер Genesis Hackspace
  1. sergushkin

    sergushkin Гость

    Помогите пожалуйста разобраться со следующей проблемой.
    Перепробовал MySQL, MS SQL Server. Подключался через BDE, ADO.
    Для тестирование в цикле выполняю ошибочный запрос к БД. При этом идет рабухание программы.
    Но если окно программы свернуть в таскбар и востановить, то память, занимаемая программой, уменьшается. Можно ли от этого избавиться либо есть ли команда сброса буферов кэша программы?
     
  2. grigsoft

    grigsoft Well-Known Member

    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    SetProcessWorkingSetSize(Process, -1, -1)
     
  3. sergushkin

    sergushkin Гость

  4. sergushkin

    sergushkin Гость

    Я разобрался в этой проблеме. Загвоздка оказалась в обрабоки исключительных ситуаций.
    При возникновении эксепшена сознается соответстующий класс дочерний к Exception. И если его не обработа в секции catch, а указать просто catch(...), то память, выделенная под класс эксепшена не освобождается. Таким образов в ADO следует обработать EOleException, а в BDE - EDBEngineError
     

Поделиться этой страницей