Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.07.31;
Скачать: [xml.tar.bz2];

Вниз

Как открыть форму из bpl-файла?   Найти похожие ветки 

 
Chinas   (2003-07-17 11:30) [0]

Подскажите пожалуйсто, как открыть форму из bpl-файла?
Я слепил формачку и откомпилил ее в bpl. Теперь хочу ее модально открыть из своего приложения (имя формы заведамо известно).

procedure TfrmMain.btnOpenClick(Sender: TObject);
var
H:THandle;
F:TForm;
FileName:TFileName;
begin
FileName:=ExtractFilePath(Application.ExeName)+"\lib.bpl";
if FileExists(FileName) then
begin
H:=LoadPackage(FileName);
...
??????????????????????????????????????????
...
F.ShowModal;
F.Destroy;
UnLoadPackage(H);
end;
end;

Кто знает как, поделитесь простеньким примером.


 
s.ts   (2003-07-17 11:37) [1]

Млжно просто скомпилировать с run-time пакетами и пользоваться как обычно


 
Chinas   (2003-07-17 11:48) [2]

Тут прикол в том, что я хочу формы довать приложению в виде плагинов, своего рода "набарное приложение".
У меня есть примеры использования bpl в качестве плагина, но они слишком универсальные, соответственно, слишком сложные. Я не смог в них разобраться :(


 
AlexSV   (2003-07-17 12:08) [3]

Поищи в кладовке с критерием bpl


 
s.ts   (2003-07-17 12:13) [4]

1 способ - реализовать в bpl простейшие функции:
CreateForm : TCustomForm;
ReleaseForm(TCustomForm)
и вызывать их для создания/удаления формы

2 способ - реализовать в bpl функцию
GetMetaClass : TClass;
и создавать/уничтожать форму в приложеннии

3 способ - получать метекласс через GetProcAddress, но там не видится простой реализации

Способ 2 - наиболее предпочтителен, т.к. создание формы в приложении позволяет стандартным способом обрабатывать исключения и т.п.

Только нужно не забыть, что пакеты, используемые bpl и приложением совместно (это не обязательно все пакеты - часто достаточно vcl+rtl) должны быть run-time.


 
mrcat   (2003-07-17 12:40) [5]

Chinas (17.07.03 11:30)

в кладовке есть пример bpl-плагинов от Юрия Зотова


 
Chinas   (2003-07-17 12:55) [6]

Уважаемый s.ts! А можно по подробнее про первый способ?



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

Форум: "Основная";
Текущий архив: 2003.07.31;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.008 c
1-100706
sasha_w
2003-07-18 13:54
2003.07.31
Подскажите как к TreeView добавить субменю, сами меню добавляю


1-100750
Arhangel
2003-07-16 12:23
2003.07.31
Button1 динамически


4-101028
R4D][
2003-05-28 17:47
2003.07.31
Hinstance


3-100589
ser_ega
2003-07-08 23:27
2003.07.31
Query


14-100907
AlexT1000
2003-07-14 11:31
2003.07.31
Внедрение в OutLook





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский