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

Вниз

Как открыть форму из 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
14-100927
rust
2003-07-14 18:31
2003.07.31
Export


14-100958
Новак
2003-07-14 12:23
2003.07.31
Сжать базу MSAccess-97. Воспользовался рекомендацией sniknik (3


14-100881
abc
2003-07-16 10:50
2003.07.31
как организовать обратную связь в DCOM? т.е от сервера к клиенту


11-100660
Fantasist
2002-11-27 07:07
2003.07.31
ActiveX with KOL


6-100870
Леопольд (К)
2003-05-24 10:37
2003.07.31
Всётаки фрейм