|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.02.2009, 09:09 | #1 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Разобраться с исключениями...
Я написал уже порядочно кода и переделывать уже смысла нет. В общем я хочу, чтобы вывод в экземпляре класса (состоящей из большего числа процедур и функций) выполняла другая, не входящая в данный класс, функция. Можно ли это реализовать посредством исключений по следующей схеме? Метод класса генерирует исключение, а обертка try-except-end обрабатывает его и дальнейшее выполнение возвращалось к месту следующем за исключением.
Например: try a.Run; except on Исключение do MessageBox(a.Mess); end; Использование ввода-вывода в а, в данном случае категорически запрещено! То есть, экземпляр моего класса выполняется до определенного момента затем готовит строку Меss и генерирует исключение. Блок try его обрабатывает и возвращает управление a. Такое вообще возможно? И если нет, то существуют ли другие способы решения данной проблемы?
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
10.02.2009, 10:23 | #2 | ||
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Цитата:
Цитата:
Или виртуальный метод класса, который можно будет в дальнейшем перекрыть и использовать любой вывод (на консоль или диалоговое окно). Еще вариант: сохранять все подготовленные строки в TStringList и показывать его после обработки. |
||
10.02.2009, 11:00 | #3 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
10.02.2009, 16:44 | #4 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Смысл в том, чтобы использовать класс и в Линуксе и в Досе и в Винде. Проблемы по вводу-выводу должна брать на себя внешняя оболочка.
Даже если просто использовать только Винодовс, все равно необходимо учитывать интересы других программистов. Ну например, он (стороннинй разработчик) будет использовать в своей программе оригинальные компоненты (сейчас это модно), а тут на тебе стандартный Бокс вылезет. Не по фень-шую получится.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
10.02.2009, 16:48 | #5 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Хранить данные, а потом выводить тоже не спортивно, а вводить данные с клавиатуры как? Да и вообще не обязательно с клавиатуры. Внешняя программа может получать данные откуда ей надо, а отдавать моему классу. Также и сообщениями. Класс свое дело выполнил, а программа сама пусть разбирается че ей с этим делать.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
10.02.2009, 17:08 | #6 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
И прервать выполнение я тоже не могу... Потому как вручную вернуться практически невозможно (ИМХО).
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите разобраться | Toxass | Общие вопросы Delphi | 2 | 18.12.2008 16:57 |
помогите разобраться | vigor53 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 3 | 16.12.2008 07:00 |
Помогите разобраться! | Holodok | Помощь студентам | 12 | 02.05.2008 18:13 |
помогите разобраться | ара | Помощь студентам | 13 | 05.12.2007 17:50 |
помогите разобраться | zetrix | Microsoft Office Excel | 0 | 30.10.2006 19:16 |