Понятно, за пару месяцев ответ так и не нашёлся, чтож, бывает
С ядиском не дружит мой файрвол, а посему будут лишь догадки
Цитата:
RunTime error 216 at ...
Это происходит, например, во время выхода из программы при автоматическом уничтожении ранее уничтоженных вручную ресурсов. Т.е. программа пытается уничтожить ресурс которого уже нет. Я это встречал при ручном удалении объектов COM или при явном вызове деструктора компонента без предварительного использования метода RemoveComponent так, как его уничтожает Owner автоматом, а тут Qwner натыкается на удаленный мною ресурс. То же происходит с COM если неаккуратно вызывать метод _Release или Free.
Тщательно проанализируйте ваш код, посмотрите где Вы сами уничтожаете объекты. Помните, компоненты, имеющие Owner <> nil удаляются Owner'ом. COM-объекты созданные внутри процедуры удалятся при завершении процедуры и т.д.
|
Кстати, есть ещё и такой прикол -
Код:
...
FreeLibrary(HandleDLL);
{ For some reason in Win XP you need to call FreeLibrary twice
maybe because you get two functions from the DLL }
FreeLibrary(HandleDLL);
...