WEB форумы на jedi
[Форум] [Помощь] [Поиск] [Выйти]
Добро пожаловать, [info]User

WEB форумы на jedi [ПОИСК] [Архив до 03.2006]

Тема Сохранение формы в потоке и.. в BCB? К предыдущему сообщению На следующее сообщение Программирование

Отправил Mighty в 22:40 22.02.2003[Ответить]
Подскажите знатоки как сделать такую фишку...
Задача:
В таблице(файле) надо держать описание формы (входная форма, которая может изменяться в 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



Отправил Mighty в 23:57 22.02.2003[Ответить]
Подскажите,плз, может есть ещё какие-то опыты сохранять динамически изменяемую форму , а потом восстанавливать её???(именно в BCB)


Отправил Mighty в 23:04 25.02.2003[Ответить]
Нашел...RegisterClass(__classid(TEdit))..Не правильно метакласс описывал...