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

Вниз

Как удалить OLE объект во время выполнения его метода   Найти похожие ветки 

 
fag2000@ok.ru ©   (2001-12-07 12:44) [0]

Я создаю в отдельном потоке Ole-объект Word. и запускаю на выполнение макрос. Во время выполнения программы иногда возникает потребность завершить этот макрос до его штатного окончания. Это можно сделать если убить соответствующий процесс в TaskManager. Вопрос как узнать какой процесс и как его убить.

unit RunWord;

interface
uses
...
type
TWordThread = class(TThread)
private
{ Private declarations }
WinWord: Variant;
WinWordExists:boolean;
Path:String;
protected
procedure Execute; override;
public
constructor Create(AppPath:String);
procedure RunWord();
procedure CloseWord();
end;


implementation
uses ActiveX;
constructor TWordThread.Create(AppPath:String);
begin
Path:=AppPath;
WinWordExists:=false;
inherited Create(False);
end;

procedure TWordThread.CloseWord();
begin
?????
end;

procedure TWordThread.RunWord();
Var
i:integer;
begin
//Работаем с Word
WinWord:=Unassigned;
//colnitialize
WinWord:=CreateOleObject("Word.Application");
WinWordExists:=true;
WinWord.visible:=True;
WinWord.Documents.Open(Path+"My.doc");
try
WinWord.Run("MyMacro");
finally
end;
end;
procedure TWordThread.Execute();
begin
CoInitialize(nil);
try
RunWord();
finally
CoUninitialize();
end;
end;



end.


 
VladD2 ©   (2001-12-08 03:22) [1]

А пробывал WinWord в нил задавать. Хотя конечно убивать COM сервер во время выполнения метода неприлично.

В конце концов елси ворд один, то можно найти его процесс по окну (классу окна... функцией FindWindow) и грохнуь с помощью API функций.



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

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

Наверх




Память: 0.47 MB
Время: 0.008 c
14-8982
Ивашка
2001-11-23 11:58
2002.02.04
как защитить авторские права программы


1-8883
Deutschmann
2002-01-16 12:04
2002.02.04
Масштабирование щрифтов


3-8800
Fareader
2002-01-03 16:11
2002.02.04
Как сделать прогу с IBX пошустрее?


1-8817
DJ X
2002-01-19 15:52
2002.02.04
Web браузер


14-8998
Мимо проходил 2001:
2001-12-11 12:35
2002.02.04
Вот многие здесь говорят что оффтопик, а мне так кажется что просто топик лучше на девушке будет смотреться.