Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Открыт ли Word [D6, WinXP]


Pavelkq ©   (2004-08-09 15:08:00) 

Здравствуйте! Хочу, чтобы при закрытии моей программы она проверяла не запущен ли MS Word. Если запущен, то закрыть его.
Пишу следующее:

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
try
 WordApp:=GetActiveOleObject('Word.Application');
except
end;
 if FindWindow(PChar('OpusApp'), nil)>0 then WordApp.Quit;
end;

Но если он не запущен, то у меня появляется сообщение об ошибке "Операция недоступна". После нажатия на ОК программа успешно завершается.
 Как избавиться от сообщения?


KSergey   (2004-08-09 16:25:00) [1]

> [4] Profi ©   (09.08.04 16:22)
> Если ошибка при компиляции, то не беда! Попробуй запустить
> exe'шник.

Если ошибка при компиляции - о каком exe'шнике может быть речь? ;))
Скорее исключение при запуске из под отладчика - решается крыжиком IDE останавливаться на исключениях или только не необработанных (назвать название - не возьмусь, лень)


Profi   (2004-08-09 16:22:00) [2]

Если ошибка при компиляции, то не беда! Попробуй запустить exe'шник.


Pavelkq   (2004-08-09 15:48:00) [3]

WordApp объявлен глобально, так что, не в этом дело.


Pavelkq   (2004-08-09 15:29:00) [4]

Все одно не получилось. Ошибка возникает на строке WordApp:=GetActiveOleObject('Word.Application');


ssk   (2004-08-09 15:10:00) [5]

перепиши так:

try
WordApp:=GetActiveOleObject('Word.Application');
if FindWindow(PChar('OpusApp'), nil)>0 then WordApp.Quit;
except
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо