![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
try...except [D5, Win95/98]
SergeN © (2003-01-31 09:21:00)Уважаемые Мастера! Подскажите где ошибка?
try
{Что-то, что может привести к ошибке}
except
messagedlg("Кря-кря! Я дала "дуба".",mterror,[mbok],0);
end;
При возникновении ошибки окно messagedlg не появляется. Почему?
Внук (2003-01-31 10:24:00) [1]Ну вот, так всегда :))))
Delirium^.Tremens (2003-01-31 10:24:00) [2]SergeN (31.01.03 10:22)
Это не неопытность, а неумение читать. На зарплату мог претендовать уже после Delirium^.Tremens © (31.01.03 09:39). За 40 минут уже пиво успело бы остыть.
SergeN (2003-01-31 10:22:00) [3]Всё, запустил. Пошла. Спасибо... Прошу прощения за неопытность...
Внук (2003-01-31 10:21:00) [4]Ладно... Теперь совет. Но здесь я не уверен. Когда речь заходит об OLE, все сложнее, поскольку соглашение SafeCall обязывает сервер OLE обрабатывать исключения самостоятельно (точнее, исключения в таких методах должны быть безопасны для клиента). Однако, умные люди советуют посмотреть метод SafeCallException и интерфейс IServerExceptionHandler в модуле ComObj.pas.
Delirium^.Tremens (2003-01-31 10:21:00) [5]Anatoly Podgoretsky © (31.01.03 10:19)
Естественно, но в этом случае - и зарплату никогда :-)
Anatoly Podgoretsky (2003-01-31 10:19:00) [6]Этого недостаточно!
Если не попробуешь запустить на машине где Delphi никогда не стояла, я бы тебе зарплату тоже не дал.
Delirium^.Tremens (2003-01-31 10:09:00) [7]Если не попробуешь вне Delphi запустить, я бы тебе зарплату тоже не дал.
SergeN (2003-01-31 10:03:00) [8]Ни совета, ни зарплаты... Вот так люди и отходят в мир иной...
SergeN (2003-01-31 09:55:00) [9]procedure TForm1.objClick(Sender: TObject);
{Ввод объектов текуещй группы}
begin
try
sset:=acad.ActiveDocument.SelectionSets.Add(gruppa.Text);
sset.SelectOnScreen(emptyparam,emptyparam);
obj_num.Items.Add(inttostr(sset.Count));
except
messagedlg("Група уже содержит объекты.",mterror,[mbok],0);
end;
end;
Пояснения: идёт подключение к приложению-сервер AutoCAD 2002 (есть такой графический редактор), затем "юзер" выбирает совокупность объектов (линии, круги и т.п.) в чертеже, и если совокупность уже существует и сидит в опер. памати, то возникает известная долбаная ошибка.
Спрашивающий (2003-01-31 09:45:00) [10]Приведи код по подробнее, где возникает ошибка?
Внук (2003-01-31 09:40:00) [11]Может так:
Запускаешь в IDE? Отключить перехват исключений. Tools->Debugger Options ->
Delirium^.Tremens (2003-01-31 09:39:00) [12]
> SergeN (31.01.03 09:37)
> Ну пожалуйста-а-а-а-а!
Запустись не из под Delphi или отключи Stop on Exceptions
SergeN (2003-01-31 09:37:00) [13]Ну пожалуйста-а-а-а-а!
SergeN (2003-01-31 09:32:00) [14]При ошибке Delphi говорит, что это "EOleException".Просто я работаю с OLE. Ну помогите пожалуйста, что за день такой сегодня!
Ещё и зарплату не дают...
Digitman (2003-01-31 09:29:00) [15]значит, нет ошибки
Внук (2003-01-31 09:27:00) [16]1. Возможно, это ошибка, но не исключение
2. Это исключение, но обрабатывается ранее (на более высоком уровне вложенности)
3. ...