Вниз
Скачать: 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.026 c
1-1131979438
*Beginner*
2005-11-14 17:43
2005.12.11
Перетаскивание из TShellTreeV iew


2-1132400297
Volfram
2005-11-19 14:38
2005.12.11
Проблема с MediaPlayer


2-1132501867
Frozzen
2005-11-20 18:51
2005.12.11
Ошибка при работе с dll!


2-1132847531
qp
2005-11-24 18:52
2005.12.11
Массив констант моего типа?


2-1132960367
Dos
2005-11-26 02:12
2005.12.11
Из dbf в mdb




   Наверх