Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.08;
Скачать: CL | DM;

Вниз

Регистрация компонентов   Найти похожие ветки 

 
diablo_m   (2004-07-22 13:11) [0]

Я динамически подключаю форму к приложению. Как узнать какие на ней расположены компоненты и зарегестрировать их?


 
Юрий Зотов ©   (2004-07-22 13:31) [1]

Поясните, пожалуйста:

1. Что значит "динамически подключаю форму к приложению". С помощью эксперта в IDE на этапе design-time? Путем загрузки ее ресурсов извне на этапе run-time? Еще что-то?

2. Где и как надо "зарегестрировать расположенные на форме компоненты"? В палитре компонентов? В среде Delphi с помощью RegisterClasses? В уже запущенной программе с помощью RegisterClasses? Еще что-то?


 
diablo_m   (2004-07-23 23:50) [2]

1.Динамически подключаю так:
Template_frm := TTemplate_frm.CreateNew(Main_frm);
FileStream:=TFileStream.Create("sample.dfm",fmOpenRead);
MemoryStream:=TMemoryStream.Create();
ObjectTextToResource(FileStream,MemoryStream);
MemoryStream.Position:=0;
MemoryStream.ReadComponentRes(Template_frm);
MemoryStream.Destroy();
FileStream.Destroy();
Template_frm.Show;

Все работает нормально, но если добавляю компонент то пишет что такой класс не найден...

2.А регестрировать надо с помошью RegisterClass(). Я компилирую с включенный "built with run-time packages" vcl,vclx.


 
Юрий Зотов ©   (2004-07-24 10:24) [3]

В секции inititialization модуля формы добавьте вызывов:
RegisterClasses([список_классов]);
В списке классов перечислите классы всех имеющихся на форме компонентов (без повторов, каждый класс - один раз). Например:
RegisterClasses([TEdit, TButton, TComboBox]);

Можно сделать регистрацию и автоматической, причем для всех имеющихся в приложении (или пакете) классов. Как это сделать, рассказано в статье в разделе "Кладовка" на этом сайте.



Страницы: 1 вся ветка

Текущий архив: 2004.08.08;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
8-1085246749
Dr.Alex
2004-05-22 21:25
2004.08.08
MPEG to AVI


1-1090766637
Вопрос
2004-07-25 18:43
2004.08.08
Если выбран (focus) edit, то...


14-1090412512
syte_ser78
2004-07-21 16:21
2004.08.08
Господа, кто юзал Lite-On LTR-5232527L


1-1090663578
KaLLeKa
2004-07-24 14:06
2004.08.08
Когда лучше грузить файлы?


1-1090438400
TBeginner
2004-07-21 23:33
2004.08.08
Как узнать имя файла беc расширения