[Форум] [Помощь] [Поиск] [Выйти] |
Добро пожаловать, ![]() |
|
|
| ||
Подскажите знатоки как сделать такую фишку... Задача: В таблице(файле) надо держать описание формы (входная форма, которая может изменяться в run-time и сохраняться в файл или в поле таблицы - не важно) и при вызове динамически создавать её. Я решил идти по пути наименьшего сопротивления (поскольку сам дельфиец, но надо С++ изучить) и использовать WriteComponentResFile(c: est.frm,Form1) и ReadComponentResFile(c: est.frm,Form1). В процессе run-time редактирования формы создаю на ней экземпляры, например, TEdit класса или TButton, при закрытии делаю WriteComponentResFile(c: est.frm,Form1) - все нормально. При создании формы делаю if (FileExists(c: est.frm)) ReadComponentResFile(c: est.frm,Form1). Тут начинаются проблемы: Исключения:Class TEdit not found и Class TButton not found, понятно, в Дельфи я бы их зарегистрировал так Form1.FormCreate(Sender: TObject) begin RegisterClasses([TEdit,TButton]); end; После чего все работает как надо, но вот в в случае BCB - странно - функция RegisterClasses(TEdit,TButton) никуда кроме заголовочного файла не влезает, и даже если я её объявляю в h-файле при попытке ReadComponentResFile(c: est.frm,Form1) вываливается исключение Class TEdit not found. Вот я понять и не могу, я же эти классы зарегистрировал...Что ещё BCB хочет??? -- With regards, Motorin Sergey, mighty@mail.ru |
| ||
Подскажите,плз, может есть ещё какие-то опыты сохранять динамически изменяемую форму , а потом восстанавливать её???(именно в BCB) |
| ||
Нашел...RegisterClass(__classid(TEdit))..Не правильно метакласс описывал... |