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

Вниз

Импорт класса из 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
14-100415
copyr25
2003-03-08 09:56
2003.03.31
Я, конечно, поздравляю всех девушек в конференции


14-100430
jack128
2003-03-13 20:10
2003.03.31
Всем кто получил образование по специальности программист


8-100348
КапитанЪ
2002-12-24 08:38
2003.03.31
directx8.1 не работает


14-100372
DenKop
2003-03-12 22:11
2003.03.31
Или я один такой или у меня сильно устаревшие во взлядах родители


3-100173
Minva74
2003-03-12 21:15
2003.03.31
Добавление файла в запись БД