Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
14-100423
Hogo
2003-02-22 13:29
2003.03.31
Proxy


14-100437
dimich1978
2003-03-13 10:44
2003.03.31
Прикол


1-100219
olban
2003-03-20 13:14
2003.03.31
Как запретить перетаскивание окна?


14-100447
Supreme 2
2003-03-13 18:54
2003.03.31
Почему я задаю вопросы, касающиеся девушек? Отвечаю:


1-100274
oomneeq
2003-03-19 11:10
2003.03.31
Снова про хэш функции





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский