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

Вниз

Работа с формой из dll   Найти похожие ветки 

 
Леприкон ©   (2004-01-29 12:43) [0]

Как создать форму, находящуюся в dll, так что бы её владельцем было приложение, обращающееся к этой dll?

Сейчас делаю так:

код из dll

..................
var
vFCoder:TFCoder;

function CreateCoder:boolean; stdcall;
begin
try
vFCoder:=TFCoder.Create(Application);
Result:=true;
except
Result:=false;
end;
end;

procedure DestroyCoder; stdcall;
begin
vFCoder.Free;
end;

procedure ShowCoder; stdcall;
begin
vFCoder.Show;
end;

exports
CreateCoder,
DestroyCoder,
ShowCoder;

.................

Возможно ли сделать что то вроде этого-

function CreateCoder(AOwner:TComponent):TForm; stdcall;
begin
Result:=TFCoder.Create(AOwner);
end;


 
Digitman ©   (2004-01-29 13:12) [1]

конечно, возможно

но как минимум при условии, что и там и там используется соглашение о сборке Build With Run-Time packages или (если иначе) версии Делфи, в которых разрабатывались хост-приложение и библ-ка, едины

а stdcall в данном случае совершенно ни к чему - лишние "тормоза", хоть и не ощутимы на первый взгляд


 
Игорь Шевченко ©   (2004-01-29 13:25) [2]

Или передавать Application.Handle из приложения в DLL.
Или передавать Application и Screen из приложения в DLL.

Читать Тейксейру и Пачеко, Delphi 5 руководство разработчика.


 
Digitman ©   (2004-01-29 13:27) [3]

можно вообще ничего не передавать
если волнует автоматическое корректное уничтожение формы при завершении приложения, то просто поместить ее диструктор в раздел финализации библ-ки



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

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

Наверх




Память: 0.47 MB
Время: 0.03 c
14-29562
DeMoN-777
2004-01-20 22:45
2004.02.10
WinXP Pro$Home


4-29669
fishca
2003-11-04 14:11
2004.02.10
Процент загруженности процессора


7-29641
ychenick
2003-11-04 17:28
2004.02.10
Помогите с LPT портом


14-29535
Автоответчик
2004-01-14 18:52
2004.02.10
КиллБилл (ч.1)


3-29279
Bers01
2004-01-16 17:10
2004.02.10
Доступ к БД Access2000