Текущий архив: 2005.12.11;
Скачать: CL | DM;
ВнизПроцесс, создаваемый CreateOleObject Найти похожие ветки
← →
Gero © (2005-11-22 23:39) [0]В своей программе я вызываю CreateOleObject, при этом запускается определенный процесс, после выхода из программы созданный процесс остается висеть в памяти. Это нормально?
Процедура выхода из процесса должна обязательно должна быть реализована в COM-объекте?
← →
Lamer@fools.ua © (2005-11-22 23:42) [1]>>Gero © (22.11.05 23:39)
Может, пока народ с духом собирается, код покажете?
← →
Gero © (2005-11-22 23:45) [2]
> Lamer@fools.ua © (22.11.05 23:42)
Пожалуйста, если это что-то даст:
OpenOfficeMgr := CreateOleObject("com.sun.star.ServiceManager");
При это запускается процесс soffice.exe.
При выходе их программы он остается.
← →
Gero © (2005-11-22 23:48) [3]
> Lamer@fools.ua © (22.11.05 23:42)
Оффтоп:
А почему ты цитаты по-старому оформляешь? Вроде как уже все браузеры поддерживаются)
← →
palva © (2005-11-22 23:48) [4]Положено сообщать объекту, что в его услугах больше не нуждаются присваиванием константы Unassigned. Но если вы открыли Excel программой и поработали с ним ручками, то он все равно не закроется.
← →
Gero © (2005-11-22 23:51) [5]
> palva © (22.11.05 23:48)
Да, я делаю
OpenOfficeMgr := Unassigned;
Но процесс почему-то остается висеть.
← →
Lamer@fools.ua © (2005-11-22 23:52) [6]>>Gero © (22.11.05 23:48) [3]
[offtopic]
Да мне всё лень Оперу 8-ю поставить (хотя и скачал уже, когда халяву открыли), а в 7-й не штрыкает... :o)[/offtopic]
>>Gero © (22.11.05 23:45) [2]
Кода — "Малофато будет! Малофато, понимаес?" ©
Какого типа переменная OpenOfficeMgr? Где объявлена? Какая область видимости? И т. п.
← →
Gero © (2005-11-22 23:58) [7]
> Какого типа переменная OpenOfficeMgr? Где объявлена? Какая
> область видимости? И т. п.
TForm1 = class(TForm)
public
OpenOfficeMgr: Variant;
procedure X;
end;
procedure TForm1.X;
begin
OpenOfficeMgr := CreateOleObject("com.sun.star.ServiceManager");
end;
← →
Gero © (2005-11-23 00:00) [8]
> Gero © (22.11.05 23:58)
Ну и вызываю:
begin
X;
try
// Делаю чего-то
finally
OpenOfficeMgr := Unassigned;
end;
end;
← →
palva © (2005-11-23 00:20) [9]Gero © (23.11.05 00:00) [8]
Все порожденные объекты также надо закрыть/уничтожить. Но все равно не всегда помогает. Я пару лет назад с экселем так боролся, так и не победил.
← →
ANB © (2005-11-23 00:24) [10]У Excel есть команда выхода.
← →
Gero © (2005-11-23 01:31) [11]Видимо, это нормальное явления для OpenOffice.
Всем спасибо.
Страницы: 1 вся ветка
Текущий архив: 2005.12.11;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.04 c