Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.21;
Скачать: CL | DM;

Вниз

Убить DCOM сервер.   Найти похожие ветки 

 
yaJohn ©   (2002-10-10 15:13) [0]

Есть DCOM сервер, реализованный в виде EXE. Запускается он не как COM сервер, а как обычное приложение.
Собственно обращение к COM серверу идет из самого приложения (сам с собой общаюсь). При попытке закрыть приложение выдается сообщение There are still active COM objects in this application. Даже если активных коннектов к COM серверу нет. Нужно закрыть сие приложение без лишнего шума (без оного сообщения).
И как?


 
kerk   (2002-10-10 15:17) [1]

Перед закрытием закрыввай все запущенные обьекты - CoDisconnectObject.

Best regards.


 
yaJohn ©   (2002-10-10 15:45) [2]

Proshu proshenia, no ya v jutkoi zaparke, gde vziat" vse zapushenie ob"ekti? Vernee ih IUnknown.
Zaranee spasibo.


 
kerk   (2002-10-10 16:04) [3]

Можно например так: в Initialize добовляется обьект в TThreadList MyThreadList.Add(Self), а в Destroy обьекта удаляяется MyThreadList.Remove(Self)(потом можно вызыать методы и свойства каждого из этих обьектов) ну и в OnClose:
var
I: Integer;
Connection: TMyComObject;
begin
with MyThreadList.LockList do
try
for I := 0 to Count - 1 do
begin
Connection := TMyComObject(Items[I]);
CoDisconnectObject(Connection as IUnknown, 0);
end;
finally
Connections.UnlockList();
end;
end;

Best regards.


 
kerk   (2002-10-10 16:16) [4]

Кстати нужно создать в initialization а то если создать в OnCreate будут некоторые проблемы:

initialization
MyThreadList:= TThreadList.Create();
finalization
MyThreadList.Free();



Страницы: 1 вся ветка

Текущий архив: 2002.10.21;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
3-68610
777
2002-09-28 17:27
2002.10.21
Local SQL


14-68932
AL2002
2002-09-27 10:19
2002.10.21
Хотите приколоться?


14-68925
den_c
2002-09-26 07:07
2002.10.21
Что делать когда не знаешь серийный номер и Authorization Key


3-68681
SunnyTm
2002-09-30 22:33
2002.10.21
Как поймать исключение по несоответствию маске в EditMask?


3-68603
Hawk2
2002-09-27 15:08
2002.10.21
Параметры в Query.