customform\lazcustforms.lpk
Установил. В подкаталоге demo пример такой формы - appforms.lpk
Тоже установил. Затем File\New\CustomForms\App form\TappForm -
форма создаётся, новые проперти в инспекторе видятся, радостно переоткрываю проект - и нарываюсь на "Unable to read file AppForm!" и предложение открыть форму как наследника от TForm.
Соображаю: не понимает Лазарь, что TAppForm есть корневой класс и дизайнер формы пытается найти AppForm.pas как модуль предка.
В examples нахожу другой пример: designerbaseclass.
Если доработать напильником (TMyComponentClass наследовать не от TComponent, а от TForm), то вроде получаем, что хотели, но в этом случае криво работает наследование таких форм: визуальные компоненты наследуются, невизуальные пытаются дублироваться.
Я человек упрямый, нахожу в коде customcomponentclass.pas заветную строчку:
- Код: Выделить всё
FormEditingHook.RegisterDesignerBaseClass(TMyComponentClass);
Подстановка этого заклинания в custforms.pp, в процедуру Register (сразу после RegisterProjectFileDescriptor) вроде дала желанный эффект.. но только наполовину: форма открывается нормально, но при попытке закрыть вылетает "Division by zero" и Лазаря приходится валить (
В своё время в Дельфи я с этими CustomForms и наследованием повоевал достаточно, а по второму разу разбираться с исподниками дизайнера ой, как не хочется..
Может, присоветует кто чего-нибудь полезное? Хоть в каких модулях самого Лазаря копаться.