Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.49 MB
Время: 0.028 c
14-1132659449
Quadro
2005-11-22 14:37
2005.12.11
Требуется довести до ума небольшую программу на Дельфи 7


2-1132855215
Alex_andr
2005-11-24 21:00
2005.12.11
размер длинного файла


14-1132214056
Карелин Артем
2005-11-17 10:54
2005.12.11
Определение пола автоматом.


2-1132499036
Express
2005-11-20 18:03
2005.12.11
TRichEdit


2-1132488605
alexab
2005-11-20 15:10
2005.12.11
Использование for...to...do