powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Наследование фрейма и вложенность компонентов
12 сообщений из 12, страница 1 из 1
Наследование фрейма и вложенность компонентов
    #39954367
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приложение UniGUI , Delphi Rio.

Есть фрейм, в котором есть сетка.
От этого фрейма создаю и наследую другой фрейм.
В другом фрейме я добавляю некий контейнер (TabControl - tcRef на картинке), внутрь которого перемещаю сетку.
И теперь при сохранении проекта получаю ошибку, что такая сетка уже существует:
A component named dbgData already exists.
Если сетку переименовать, то получаю другую ошибку при сохранении проекта:
Cannot rename component dbgData, component was introduced in an ancestor form.

Я пока не знаю, это проблема Delphi или UniGUI.
...
Рейтинг: 0 / 0
Наследование фрейма и вложенность компонентов
    #39954368
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот в таком случае проблемы нет.
Но мне нужно, чтобы сетка лежала внутри TabControl
...
Рейтинг: 0 / 0
Наследование фрейма и вложенность компонентов
    #39954373
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
X11,

"Сетка" - ?
...
Рейтинг: 0 / 0
Наследование фрейма и вложенность компонентов
    #39954374
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbGrid
в моем случае TUniDBGrid
...
Рейтинг: 0 / 0
Наследование фрейма и вложенность компонентов
    #39954376
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11
Я пока не знаю, это проблема Delphi или UniGUI

В наследниках нельзя менять parent-а компонент (в дизайн-тайме). Проблема в том, что кто-то в принципе позволяет Вам это сделать.
...
Рейтинг: 0 / 0
Наследование фрейма и вложенность компонентов
    #39954377
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это ужас, кошмар и неприемлемо
ну я выход нашел - первую сетку сделал невидимой и добавил вторую, её уже можно наследовать как хочу
...
Рейтинг: 0 / 0
Наследование фрейма и вложенность компонентов
    #39954379
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11
это ужас, кошмар и неприемлемо

Можно убиться об стену. Ну либо спроектировать иерархию наследования так, чтобы это не было проблемой. В целом, иерархию наследования следует строить так, чтобы потомки дополняли предка, а не переделывали его. Это, кстати, относится не только к визуальному наследованию.
...
Рейтинг: 0 / 0
Наследование фрейма и вложенность компонентов
    #39954399
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
X11
ужас, кошмар

Строчку кода, да поменяй владельца на лету.
...
Рейтинг: 0 / 0
Наследование фрейма и вложенность компонентов
    #39954400
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ъъъъъ
X11
ужас, кошмар

Строчку кода, да поменяй parent-а на лету.
...
Рейтинг: 0 / 0
Наследование фрейма и вложенность компонентов
    #39954401
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага, т.е. во время исполнения уже менять можно...
попробую, спасибо.
...
Рейтинг: 0 / 0
Наследование фрейма и вложенность компонентов
    #39954415
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
Строчку кода, да поменяй владельца на лету.

Лучше сделать базовый класс вообще не привязанным (и не нуждающимся) в гриде. А то потом появляется аналитик с запросом "а вот здесь чтобы был не грид, а дерево, причём только здесь и здесь, а в остальных местах как прежде", и внезапно оказывается, что работы утроилось, причём в основном переделывать.

Я пришёл к паттерну "базовый фрейм с операциями" => "фрейм, специализированный для работы с гридом" => "конкретные реализации". И в примере автора TabControl с гридом появлялся бы на конкретной реализации, просто тем или иным образом привязывая свой грид как "тот, с которым и надо работать" (ну хотя бы тупо на уровне FindComponent).
...
Рейтинг: 0 / 0
Наследование фрейма и вложенность компонентов
    #39954419
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer
Я пришёл к паттерну "базовый фрейм с операциями" => "фрейм, специализированный для работы с гридом" => "конкретные реализации"

У меня примерно то же самое, например:

TBaseActivatedFrame <- TBaseTreeFrame <- что-то конкретное.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Наследование фрейма и вложенность компонентов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]