Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.027 c
2-1132514607
Nikos
2005-11-20 22:23
2005.12.11
Непонятная ошибка при завершении программы.


3-1130428514
Apachi
2005-10-27 19:55
2005.12.11
Доступ к данным через интернет ISAPI


1-1131507885
TFire
2005-11-09 06:44
2005.12.11
Как вытянуть History из Mozilla FireFox ?


3-1130055239
ViktorZ
2005-10-23 12:13
2005.12.11
Ошибки не выдает ,но и не делает того, что надо


4-1129090176
Smertb
2005-10-12 08:09
2005.12.11
hook




   Наверх