Здравствуйте, bnk, Вы писали:
bnk>Похоже на какой-то косяк при подсчете ссылок
Если бы был косяк с подсчетом ссылок на моей стороне, то объект просто бы терялся и была бы утечка памяти. Проблема возникает при OleUninitialize, т.е. (предполагаю что) COM освобождает ссылку на мой объект в то время как dll уже выгружена.
bnk>как именно ты реализовал WM_GETOBJECT/IAccessible
Стандартно:
Accessible := TTreeViewAccessible.Create(Self);
Result := LresultFromObject(IID_IAccessible, WParam, Accessible);
bnk>Когда система хочет выгрузить DLL, она ее предварительно спрашивает, "можно ли"? (DllCanUnloadNow)?
У меня же не COM сервер, и dll загружена не COM системой. COM вообще ни чего не знает о моей dll.
bnk>К сожалению, я в Delphi не в зуб ногой, как починить, посоветовать не смогу.
Дело в общем то не в Delphi. То, на чем написана dll, к моему вопросу имеет весьма косвенное отношение.