Главная страница
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.013 c
8-100833
jel
2003-04-09 10:06
2003.07.31
Работа с палитрой


4-101012
llyr
2003-05-26 16:13
2003.07.31
ссылки


4-101041
Nick Denry
2003-05-25 17:56
2003.07.31
XP 2k ToolTip. MSDN failed....... SDK failed.......


1-100749
R
2003-07-16 06:48
2003.07.31
Минимизация динамически созданной формы


3-100593
paxer
2003-07-07 11:47
2003.07.31
Какие компоненты доступа к БД FireBird использовать?