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

Вниз

как правильно использовать CLX компоненты в Dll/Package   Найти похожие ветки 

 
midi   (2003-06-04 12:02) [0]

хочу подгружать динамически и использовать CLX-й компонент (использует QForms)

1 - пытался сделать все в Dll, ругается: при инициализации QForms внутри библиотеки -->> ошибка "Не могу создать TApplication in Library" (там прям в коде проверка стоит:
If IsLibrary -->> досвиданья, потом все валится и не подымается)
2 - Package ведет себя мягче - не валится, даже дает возможность создать "ТКонтрол", но потом этот ТКонтрол не виден на панельке(Parent) в приложении

подскажите, может что-то не так пишу:

=========== package code ====
unit AAA; // package using it

TMyControl=class(TControl)
end;

function MyControlInPackage(AOwner: TComponent):TControl;cdecl;
begin
result:=TMyControl.Create(AOwner);
result.ParentFont:=False;
// без последнего парент не переприсваивается
end;

exports
MyControlInPackage;

==========================

============ application code ===

function MyControlInPackage(AOwner: TComponent): TControl; cdecl; external "package.bpl";


function TForm1.Button1Click(...);
var f: TControl;
begin
f:=MyControlInPackage(Self);
f.Parent:=Panel1;
end;
==============================================


 
Valet   (2003-06-04 13:03) [1]

ты должен в Dll переменную Application.Handle установить на Handle Aplication приложения.

function MyControlInPackage(AHandle : THandle; AOwner: TComponent):TControl;cdecl;
...
Application.Handle:=AHandle
...

...
f:=MyControlInPackage(Application.Handle, Self);
...


 
midi   (2003-06-04 14:13) [2]

мне VCL не подходит
(хотя там это решение для Dll тоже не работает - в результате контрол создается, но увидеть его на форме я не могу... и ругань при выходе "exception in rtl70.bpl")

может у кого-то есть рабочий пример по CLX



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

Текущий архив: 2003.06.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.009 c
14-50454
snake1977
2003-05-29 17:26
2003.06.16
Захват таблицы


6-50416
BGV
2003-04-11 17:13
2003.06.16
Не могу выкачить файл с FTP сервера


1-50352
Voyager
2003-06-02 20:57
2003.06.16
Помогит пожалуйста сделать блокератор экрана для игрового клуба!


1-50342
Evg12
2003-06-03 15:44
2003.06.16
Динамическая работа с MainMenu1


1-50384
joker
2003-06-04 12:26
2003.06.16
Edit1.Text