У меня в проекте несколько форм похожих друг на друга, но тем не менее очень разные, чтобы их можно было объединить в одну. Поэтому я создал форму шаблон, в которой реализовал методы одинаковые для всех. Используя шаблон, создаю новую форму, она наследует методы и свойства своего родителя. Вроде все в порядке, но мне понадобилось добавить к одной незадействованной до этого кнопке обработчик. Добавляю у родителя, у потомка никак не проявляется. Пошел другим путем: добавил у родителя кнопку, написал обработчик. В дизайнтайм ее у потомка не видно, в откомпилированном виде кнопка есть и работает.
Собственно вопрос: что сделать, чтобы при изменении предка, изменения появлялись у всех потомков, пусть даже не в дизайнтайм.
Добавлено спустя 9 минут 13 секунд:
Всего-то нужно было перезапустить лазарус. Как все просто, однако.
Но если что-то удаляю в родителе, у потомка это не удаляется даже после перезапуска.
наследование форм [РЕШЕНО]
Модератор: Модераторы
наследование форм [РЕШЕНО]
Последний раз редактировалось Frolik 12.09.2011 02:21:09, всего редактировалось 1 раз.
-
NTFS
- постоялец
- Сообщения: 388
- Зарегистрирован: 05.11.2007 13:57:50
- Откуда: Краснодар
- Контактная информация:
Наследование форм кривовато даже в Delphi.
А в Lazarus - это игра в русскую рулетку
Рекомендую фреймы, а лучше создание компонент в рантайме, в зависимости от текущего вида формы. Кода чуть больше, зато уверен в результате.
А в Lazarus - это игра в русскую рулетку
Рекомендую фреймы, а лучше создание компонент в рантайме, в зависимости от текущего вида формы. Кода чуть больше, зато уверен в результате.
Наверное так и поступлю. Создам в отдельном модуле набор необходимых компонентов с нужными свойствами и буду расставлять на шаблоне в рантайме.
Это оказалось намного проще, чем то, что я планировал сделать сначала.
