ОБСУЖДЕНИЕ

Уничтожение объекта при закрытии приложения

1 ответов 6,2 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Статус
Закрыто для дальнейших ответов.
Автор темы
Всем привет!!!

Если будет время, подскажите, пожалуйста!

Ситуация такая:
Пишу на Delphi 7 COM+ events. Некоторое приложение должно вызывать процедуру из того com'а, которая создает Timer и далее Timer по TimeOut'у запускает другую процедуру из этого же com'а. Так вот при закрытии приложения вылетает ошибка типа "память не может быть "read"" и т. д. Дело в том, что в com'е цепляются ещё внешние библиотеки (dll). Так вот никак не могу корректно уничтожить созданные объекты типа Variant. Я удаляю их на событии закрытия приложения с помощью процедуры в com'е, которая присваивает UnAssigned всем Variant'ам (+ VarClear(...)). А как сделать, чтобы все само уничтожалось при зарытии приложения?

Спасибо!
 
По корректной работе с COM, DLL и потоками написана неплохая книга "Delphi и технология COM" Елманова Н. и др. Там расписаны некоторые нюансы работы диспетчеров памяти, возможно найдете в этой книге и ответ на свой вопрос
 
Статус
Закрыто для дальнейших ответов.