|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Два фрейма собранных в Designtime и две функции
Здравствуйте.
Стандартная (в каком-то смысле) задача: выбирая очередную запись из combobox меняется интерфейс программы. Аля выбрали в списке "редактирование справочника А", ниже прогрузился фрейм с полями этого справочника. Выбрали редактирование справочника Б - второй фрейм подгрузился. Оба фрейма созданы и упакованы в соответствующие юниты в режиме design-time. Аля модуль обработки данных под названием А привязан к фрейму и его классу TFrameA, а обработка B так же к TFrameB. Оба унаследованы от TFrame Создавая фреймы так же были созданы две функции с одинаковыми именами EditAndSave(): integer, которые выполняют РАЗНЫЕ преобразования с данными на фреймах, но возвращают однотипный результат в виде кода ошибки (статуса) Архитектурно в голове сидит мысль о том, что надо завести переменную, в которой я буду хранить экземпляр текущего активного фрейма, и обращаясь через неё к функции. НО! Во-первых, какой тип этой переменной должен быть? Ведь фреймы разных классов. Один от TFrameA, второй от TFrameB. Во-вторых, функция имея одно и тоже название должна быть ... virtual? abstract? overload? Найдутся тут сеньёоры, понимающие весь этот глубокий мир ООП? Последний раз редактировалось Uniq!, 25.05.2023 в 23:10. |