Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Сохранение класса формы в потоке и загрузка из него?

3.4K
21 февраля 2003 года
mighty
1 / / 20.02.2003
Извините если что за офтопик, но думаю это сюда..
Подскажите знатоки как сделать такую фишку...
Задача:
В файле(или таблице), не важно, необходимо держать форму (входная форма, которая может изменяться в 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]
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог