|
Модераторы: Poseidon, Snowy, bems, MetalFan |
|
r00xus |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 15.1.2010 Репутация: нет Всего: нет |
здравствуйте коллеги.
есть проект с кучей хаотично унаследованных друг от друга форм. мне нужно в некоторых формах в методе OnCreate сделать некие манипуляции с интерфейсом. решил добавить в базовый класс абстрактный метод WorkplaceConfig для этих целей, который срабатывает в OnCreate.
но вот проблема: метод нужен только в некоторых формах. если не реализовать его в какой-то форме, то естественно вылетит исключение Abstract error. не хочется лазить по всем, смотреть что от чего унаследовано и лепить пустой WorkplaceConfig там где он мене и не нужен вовсе. можно конечно проверить наличие метода через RTTI, но такой подход кажется мне слишком громоздким и некрасивым. вопрос: можно ли как-то проверить реализован ли абстрактный метод в потомке до его выполнения? |
|||
|
||||
irwin.noteam.2009 |
|
|||
Unregistered |
а что мешает в базовой форме его оставить как virtual, просто в базовой форме сделать его пустым и переписывать только в нужных формах, а в ненужных он будет автоматом отрабатывать пустую функцию?
Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
r00xus |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 15.1.2010 Репутация: нет Всего: нет |
блин точно! с абстрактным это я уже перемудрил
|
|||
|
||||
mikeyess |
|
|||
Новичок Профиль Группа: Участник Сообщений: 0 Регистрация: 7.1.2014 Репутация: нет Всего: нет |
Добрый день.
При объявлении процедуры сами написали virtual; abstract;, к тому же у Вас процедура procedure Tform_Base.WorkplaceConfig; пустая. Все четко. Объявлен абстрактный класс, который нуждается в переопределении в потомках. С уважением, Mike Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |