Странности перекрытия класса TForm

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

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

Ответить
Alex2013
долгожитель
Сообщения: 3237
Зарегистрирован: 03.04.2013 11:59:44

Странности перекрытия класса TForm

Сообщение Alex2013 »

Обнаружил что то странное :
Понадобилось мне перекрыть класс формы
(При динамическом создании не получается использовать
находящийся в вне класса обработчик события от нажатия клавиш
:?: Кстати , интересно почему ? :roll: )

И при создании перекрытой формы (если проект без файлов *.LRS )
выдает ошибку из за поисков несуществующих ресурсов!
(напоминаю форма создаётся динамически и никак с основной не связана
и ни каких внешних ресурсов понятное дело нет )

В данном случае проблему решил присвоением обработчика из «не созданного»
класса в форму «обычного» типа TForm
( Пришлось использовать в обработчике свойства непосредственно из
переменной экземпляра TForm что в общем случае не очень то хорошо
но у меня это просто диалог «разового действия» так что все работает )

Но суть в том что если мне понадобится действительно сложное изменение в ТForm
я не смогу его применять в динамически создаваемой форме .

Отсюда вопрос: как отучить класс порождённый от класса формы от поисков не существующих в природе ресурсы ?

Зы
Рецепт прятать каждый новый класс в свой модуль не годится, так как может сильно запутать логику передачи параметров …
iN0k
постоялец
Сообщения: 146
Зарегистрирован: 18.07.2012 14:09:50

Сообщение iN0k »

глянь на ГЛОБАЛЬНУЮ переменную RequireDerivedFormResource ... чет помню с ней похожее воевал
Alex2013
долгожитель
Сообщения: 3237
Зарегистрирован: 03.04.2013 11:59:44

Сообщение Alex2013 »

Спасибо ! Посмотрю .. :idea:
Аватара пользователя
Alexx2000
постоялец
Сообщения: 490
Зарегистрирован: 25.10.2006 00:22:07
Откуда: Мытищи
Контактная информация:

Сообщение Alexx2000 »

Alex2013 писал(а):Отсюда вопрос: как отучить класс порождённый от класса формы от поисков не существующих в природе ресурсы ?

Использовать конструктор "CreateNew"
Ответить