Конференция "Corba" » Можно ли поймать сообщение из ОС о закрытии приложения? [Delphi]
 
  • Эстет © (26.11.07 19:03) [0]
    Уважаемый мастера! Может кто знает ка решить след. задачу:

    Создается OLE-сервер, напр, Ворд:

    var vWord: variant;

    vWord := CreateOleObject('Word.Application');
    vWord.Visible := true;
    ...

    Закрывается:

    vWord.Quit;
    vWord := UnAssigned;

    Проблема: как отловить ситуацию, когда пользователь руками закрыл Ворд?
    vWord в UnAssigned естественно при этом не переводится.

    Может есть какой-то Message, который можно поймать из ОС, когда закрывается какое-то приложение?
  • Сергей М. © (27.11.07 08:59) [1]

    > как отловить ситуацию, когда пользователь руками закрыл
    > Ворд?


    Воспользуйся компонентом TWordApplication (закладка Servers), у него есть событие OnQuit.
  • Эстет © (27.11.07 15:39) [2]
    К сожалению сервер TWordApplication не подходит. Мне нужно использование позднего связывания.
  • Сергей М. © (27.11.07 16:01) [3]

    > Мне нужно использование позднего связывания


    Да на здоровье.

    выполни коннект к Ворду средствами объекта TWordApplication, перед этим назначив обработчик OnQuit, а далее получив ссылку на объект-сервер через значение св-ва TWordApplication.Application преобразуй ее к типу OleVariant и работай с объектом-сервером точно так же, как если бы ты создал его с пом. CreateOleObject.
  • AGS © (24.07.09 13:31) [4]
    А можно по подробнее пропреобразование TWordApplication.Application к типу OleVariant. А то у меня такая же ситуация.
  • Сергей М. © (24.07.09 17:06) [5]
    var
     AppObj: OleVariant;
     WordApp: TWordApplication;
    ..
     AppObj := WordApp.Application;

 
Конференция "Corba" » Можно ли поймать сообщение из ОС о закрытии приложения? [Delphi]
Есть новые Нет новых   [118230   +17][b:0][p:0.001]