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

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

  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
     

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