![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Открыт ли 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;