Переопределение обработчика события

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
DedFrend
постоялец
Сообщения: 157
Зарегистрирован: 25.11.2018 11:21:50

Переопределение обработчика события

Сообщение DedFrend »

Есть форма, у которой создан обработчик события (например, FormCreate). Теперь создаем наследника этой формы и хотим, чтобы у наследника обработчик был другой. В Delphi проблем не возникало, а Лазарь норовит подсунуть обработчик, созданный в предке. Во-всяком случае простым двойным кликом в инспекторе не отделаешься.
Кто знает как без бубна обойти проблему?
Аватара пользователя
VirtUX
энтузиаст
Сообщения: 880
Зарегистрирован: 05.02.2008 09:52:19
Откуда: Крым, Алушта

Сообщение VirtUX »

Сделать у родительской формы обработчик virtual, а в дочерней перегрузить его override
DedFrend
постоялец
Сообщения: 157
Зарегистрирован: 25.11.2018 11:21:50

Сообщение DedFrend »

Откровенно говоря, так и делаю. Но есть в этом что-то перректальное...
olegy123
долгожитель
Сообщения: 1643
Зарегистрирован: 25.02.2016 11:10:20

Сообщение olegy123 »

Это нормально..
Вообще у продакшен не принято чтобы наружу нитки торчали. поэтому override очень хорошо.
А если нужно FormCreate использовать, то проще наверное обрабатывать еще в constructor Create(TheOwner : TComponent); override;
а OnFormCreate только, то что юзеру полезно. Зачем ему швы видить?
Ответить