Показать сообщение отдельно
  #1  
Старый 22.09.2011, 11:54
iobox iobox вне форума
Прохожий
 
Регистрация: 22.09.2011
Сообщения: 1
Репутация: 10
По умолчанию ADO в DELPHI (утечка памяти)

Добрый день!
Столкнулся с проблемой утечки памяти при использовании компонентов ADO.
Вот пример, который уже вызывает утечку памяти:
Код:
procedure TMain_Form.RunThread();
var
ADOQuery : TADOQuery;
begin
ADOQuery := TADOQuery.Create(nil);
ADOQuery.ConnectionString := '111111';
FreeAndNil( ADOQuery);
end;

В MemProof утечка выглядит так:
427 SysString 0016904C 6 SysAllocStringLen(111111,6) oleaut32.dll
Пробовал и в Delphi 7 и Delphi XE. Запускал под разными операционками.

Проблема, как я понял, глобальная и связана с выделением памяти под WideString.

Мое приложение работает в режиме 24/7, каждые 15 минут запуская поток, в котором выполняются операции с MS SQL Server через ADO. За месяц мое приложение "схавает" 15 Mb оперативки, что не есть гуд.

Помогите решить проблему.
Ответить с цитированием