Главная страница
    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-100701
PrettyFly
2003-07-18 13:03
2003.07.31
Глюк в компонентике?


14-100909
Step[B.M.]
2003-07-10 09:14
2003.07.31
Как отучить XL Report g2 выводить лимит в 255 записей ?


4-101044
Bardak
2003-05-26 19:08
2003.07.31
SendMessage и WM_HOTKEY


14-100912
Marser
2003-06-29 23:13
2003.07.31
Долгоиграющие форумисты :-)


1-100793
ramdy
2003-07-17 10:22
2003.07.31
stringgrid focused cell





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