Главная страница
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.021 c
1-100744
_Санек_
2003-07-16 10:12
2003.07.31
Как передать в параметр процедуры массив?


1-100740
jack128
2003-07-15 21:56
2003.07.31
Как из Delphi выполнить код VBA в Excel?


14-100901
mika
2003-07-10 11:50
2003.07.31
---|Ветка была без названия|---


1-100734
olookin
2003-07-19 11:03
2003.07.31
Свойство компонента


3-100540
inspirion
2003-07-11 00:01
2003.07.31
Медиа файлы и БД