Форум: "Основная";
Текущий архив: 2003.03.31;
Скачать: [xml.tar.bz2];
ВнизИмпорт класса из BPL Найти похожие ветки
← →
distinger (2003-03-19 14:32) [0]В BPL описан класс TMyForm производный от TForm (проще говоря храниться форма). Как в exe-шнике динамически подгрузить этот BPL, зарегистрировать класс TMyForm, а затем создать экземпляр TMyForm. (Типа:MyForm:=TMyForm.Create(Application))
Спасибо.
← →
REA (2003-03-19 14:44) [1]Подгрузить: LoadPackage
Зарегистрировать: А надо ли?
Создать:
TMyFormClass = Class Of TForm;
TGetFormClass = Function: TMyFormClass;
GetFormClass := GetProcAddress("GetFormClass");
FormMetaClass := GetFormClass();
MyForm := FormMetaClass.Create(Application));
--------------
В BPL:
Function GetFormClass: TMyFormClass;
Begin
Result := TMyForm;
End;
Exports
GetFormClass;
← →
distinger (2003-03-19 15:25) [2]Спасибо. Только Delphi ругается на строку
MyForm := FormMetaClass.Create(Application);
Говорит: "Incompatible types: TForm and TMyFormClass"
(MyForm я как TMyFormClass объявил).
Что я неправильно сделал;
← →
distinger (2003-03-19 15:34) [3]В BPL:
Function GetFormClass: TMyFormClass;
Begin
Result := TMyForm;
End;
А как надо TMyFormClass в BPL объявлять?
← →
distinger (2003-03-19 15:51) [4]И еще вопрос:
для чего делается следующее
FormMetaClass := GetFormClass();
и что такое FormMetaClass
Спасибо
P.S. Прошу прощения за назойливость.
← →
REA (2003-03-19 16:15) [5]>(MyForm я как TMyFormClass объявил).
MyForm: TForm; // Объявим как базовый класс
>А как надо TMyFormClass в BPL объявлять?
В принципе можно и как TFormClass возвращать (если таковой уже описан). А так нужно описание в отдельный можуль вынести, который известен и программе и BPL.
> и что такое FormMetaClass
Указатель на класс формы (метакласс), который создаст экземпляр класса.
← →
distinger (2003-03-19 16:31) [6]Последний вопрос :)
А где обо все этом в Инете почитать можно, а то у меня тут 6 книг под носом и не в одной ничего не написано.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.03.31;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c