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

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

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. ...


Наверх

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