-
Уважаемый мастера! Может кто знает ка решить след. задачу:
Создается OLE-сервер, напр, Ворд:
var vWord: variant;
vWord := CreateOleObject('Word.Application'); vWord.Visible := true; ...
Закрывается:
vWord.Quit; vWord := UnAssigned;
Проблема: как отловить ситуацию, когда пользователь руками закрыл Ворд? vWord в UnAssigned естественно при этом не переводится.
Может есть какой-то Message, который можно поймать из ОС, когда закрывается какое-то приложение?
-
> как отловить ситуацию, когда пользователь руками закрыл > Ворд?
Воспользуйся компонентом TWordApplication (закладка Servers), у него есть событие OnQuit.
-
К сожалению сервер TWordApplication не подходит. Мне нужно использование позднего связывания.
-
> Мне нужно использование позднего связывания
Да на здоровье.
выполни коннект к Ворду средствами объекта TWordApplication, перед этим назначив обработчик OnQuit, а далее получив ссылку на объект-сервер через значение св-ва TWordApplication.Application преобразуй ее к типу OleVariant и работай с объектом-сервером точно так же, как если бы ты создал его с пом. CreateOleObject.
-
А можно по подробнее пропреобразование TWordApplication.Application к типу OleVariant. А то у меня такая же ситуация.
-
var
AppObj: OleVariant;
WordApp: TWordApplication;
..
AppObj := WordApp.Application;
|