![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Я написал уже порядочно кода и переделывать уже смысла нет. В общем я хочу, чтобы вывод в экземпляре класса (состоящей из большего числа процедур и функций) выполняла другая, не входящая в данный класс, функция. Можно ли это реализовать посредством исключений по следующей схеме? Метод класса генерирует исключение, а обертка try-except-end обрабатывает его и дальнейшее выполнение возвращалось к месту следующем за исключением.
Например: try a.Run; except on Исключение do MessageBox(a.Mess); end; Использование ввода-вывода в а, в данном случае категорически запрещено! То есть, экземпляр моего класса выполняется до определенного момента затем готовит строку Меss и генерирует исключение. Блок try его обрабатывает и возвращает управление a. Такое вообще возможно? И если нет, то существуют ли другие способы решения данной проблемы?
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#2 | ||
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
![]() Цитата:
Цитата:
Или виртуальный метод класса, который можно будет в дальнейшем перекрыть и использовать любой вывод (на консоль или диалоговое окно). Еще вариант: сохранять все подготовленные строки в TStringList и показывать его после обработки. |
||
![]() |
![]() |
![]() |
#3 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Смысл в том, чтобы использовать класс и в Линуксе и в Досе и в Винде. Проблемы по вводу-выводу должна брать на себя внешняя оболочка.
Даже если просто использовать только Винодовс, все равно необходимо учитывать интересы других программистов. Ну например, он (стороннинй разработчик) будет использовать в своей программе оригинальные компоненты (сейчас это модно), а тут на тебе стандартный Бокс вылезет. Не по фень-шую получится. ![]()
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Хранить данные, а потом выводить тоже не спортивно, а вводить данные с клавиатуры как? Да и вообще не обязательно с клавиатуры. Внешняя программа может получать данные откуда ей надо, а отдавать моему классу. Также и сообщениями. Класс свое дело выполнил, а программа сама пусть разбирается че ей с этим делать.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#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 |