![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Почему не ловится Exeption
AFROLOV © (2002-04-29 12:23:00)Привет всем!
Пишу следующий код:
Procedure Form1.proc1;
..
MSWord := CreateOleObject("Word.Application");
...
end;
Procedure Form2.proc2;
begin
try//Если MSWord не создан, то понятное дело должна произойти ошибка но почему-то она не подавляется try
MSWord.Visible:=False;
MSWord.Quit(wdDoNotSaveChanges);
except
..
end;
end;
Заранее спасибо.
AFROLOV (2002-04-29 13:45:00) [1]Что-то не получается. А примерчика не найдется?
Anatoly Podgoretsky (2002-04-29 13:26:00) [2]Обертывать надо в OleCheck
Vovchik (2002-04-29 13:13:00) [3]А какая хитрость с OLE-exception"ами я не помню, по моему недавно был такой вопрос на форуме.
AFROLOV (2002-04-29 13:07:00) [4]У меня тоже D6 но проблема почему-то такая есть.
gek (2002-04-29 12:49:00) [5]Вот сей проверил у себя на D6
procedure TForm1.Button1Click(Sender: TObject);
var
MSWord: Variant;
begin
try//Если MSWord не создан, то понятное дело должна произойти ошибка но почему-то она не подавляется try
MSWord.Visible:=False;
except
showmessage("ddddddddd");
end;
end;
Вижу именно то, что хочу. В данном случае
showmessage("ddddddddd");
AFROLOV (2002-04-29 12:40:00) [6]
> А в промежутке
> except
> ..
> end;
> что-нибудь стоит?
Да стоит, но это не важно. Не может же оптимизатор блоки Try удалять.
> А что вообще происходит-то?
Сообщение выдается абсолютно логичное - "Variant does not reference an automation object"
> С OLE-exception"ами есть какая-то хитрость.
А какая?
Vovchik (2002-04-29 12:32:00) [7]А что вообще происходит-то? С OLE-exception"ами есть какая-то хитрость.
gek (2002-04-29 12:31:00) [8]А в промежутке
except
..
end;
что-нибудь стоит?