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

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

Почему не работает raise?


nester ©   (2004-02-28 16:03:00) 

Пишу так

  FReasonPhrase:= 'xxxx';
  ....
  raise Exception.Create(e_inout, FReasonPhrase);

Сообщение вылетает нормально, но в описании ошибки пустая строка, а должна быть FReasonPhrase. Модуль err, скачаный отсюда же пару часов назад подключил.


Yury Sidorov   (2004-02-29 14:18:00) [1]

Сообщение типа Project Loader.exe raised exception with message "..." выдает стандартный обработчик исключений.
Чтобы сообщение было нормальным нужно его переопределить. Вот так он определен в модуле err.pas:


//...

procedure ExceptHandler(ExceptObject: TObject; ExceptAddr: Pointer); far;
begin
 ShowException(ExceptObject, ExceptAddr);
 Halt(1);
end;

//...

ExceptProc := @ExceptHandler;

//...


nester   (2004-02-28 23:29:00) [2]

Вот и я думаю, чем тогда моя реализация отличается от ответа в факе. Спасибо что ответили, но похоже я тормоз редкий, у меня так ниче и не получилось. Давайте я объясню как понял а вы меня поправте.
Во первых у меня ниче не виснет, raise срабатывает без проблемм, все в порядке но...
Системное сообщение не выдает мою строку.
Вот примерно так

raise Exception.Create(e_inout, 'cant load');
на это мне выводится сообщение типа Project Loader.exe raised exception with message '' ...
А должен вместо '' выводить 'cant load'.
в try except его засовывать и потом на On ловить нужный эксепшн и делать MsgOk нужный както ...
Я понимаю что в этом случае прога вывалится, но так и надо.
К тому же в отладке удобно.
Теперь как я понял из фака нужно это сделать.
Вопервых в директиве {$IFNDEF KOL_MCK} объявить mckCtrls, во вторых за ее приделами добвать err.
Это все? или я чего недопонял? или я вообще тормоз на другом повороте?


Gandalf   (2004-02-28 22:57:00) [3]

Обработка исключений к mck не имеет ни какого отношения... это все KOL


nester   (2004-02-28 22:39:00) [4]

Вы говорите про mckCtrls?
Но я не использую mck ....


Gandalf   (2004-02-28 16:33:00) [5]

FAQ!!! http://kol.mastak.ru/FAQ.htm#29


Наверх

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