Сохранение класса формы в потоке и загрузка из него?
Подскажите знатоки как сделать такую фишку...
Задача:
В файле(или таблице), не важно, необходимо держать форму (входная форма, которая может изменяться в run-time
и сохраняться в файл) и при вызове динамически создавать её. Я решил идти по
пути наименьшего сопротивления (поскольку сам дельфиец, но надо С++ изучить)
и использовать
WriteComponentResFile("c:\test.frm",Form1) и
ReadComponentResFile("c:\test.frm",Form1).
В процессе run-time редактирования формы создаю на ней экземпляры, например,
TEdit класса или TButton, при закрытии делаю
WriteComponentResFile("c:\test.frm",Form1) - все нормально.
При создании формы делаю
if (FileExists("c:\test.frm")) ReadComponentResFile("c:\test.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:\test.frm",Form1) вываливается исключение "Class
TEdit not found". Вот я понять и не могу, я же эти классы
зарегистрировал...Что ещё BCB хочет???
--
With regards, Motorin Sergey, [email]mighty@mail.ru[/email]