Вверх ↑
Ответов: 2125
Рейтинг: 159
#1: 2008-04-02 23:58:03 ЛС | профиль | цитата
Странное дело: поставил обнуление fIDBInitialize перед CoUnInitialize - утечка памяти заметно сократилась, но стало время от времени увеличиваться количество хендлов, причём не на каждое нажатие, а как-то раз на пятый-десятый на один хендл.
Мне кажется более правильным удалять объект до CoUnInitialize, а не ждать, пока он удалится деструктором после CoUnInitialize. И, кстати, что будет происходить с неудалённым fIMalloc после CoUnInitialize?
------------ Дoбавленo:

Вынес

#pas
initialization
CoInitialize(nil);
finalization
CoUninitialize;
утечка прекратилась.
А вот как ты объяснишь тот факт, что если убрать fIDBInitialize := nil, который я добавил в деструктор, то появляется утечка памяти?

------------ Дoбавленo:

И кстати, не забудь про StringToOleStr в TDataSource.Initialize
карма: 1

0