Показать сообщение отдельно
  #2  
Старый 15.11.2022, 23:47
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Не факт, что утечка есть. Просто память может не освобождаться менеджером памяти, поэтому кажется, что утечка есть.
Для начала, в конце добавь строки:
Код:
idoc := Nil;
VarClear(v);
v := Nil;
Это принудительно подскажет COM подсистеме освободить соотв интерфейс и уничтожить соотв. класс.
Далее, если Делфи достаточно свежая, то там по умолчанию используется иенеджер FastMM. В нем можно включить отслеживание утечек и, если они есть, при закрытии программы он, менеджер, выведет соотв. сообщение. Для этого в главном модуде добвть секцию инициалищации с установкой соотв. переменной:
Код:
initialization
  ReportMemoryLeaksOnShutdown := True;
Ну а далее надо будет уже смотреть более подробно.
Ответить с цитированием