Главная страница
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.02 c
3-29204
Жбан
2004-01-20 12:33
2004.02.10
Как подсчитать количество записей в базе?


1-29412
Фдуч
2004-01-31 17:30
2004.02.10
Как добавить в treeview столбец с checkbox ами для item


1-29335
C@esar
2004-01-25 14:25
2004.02.10
POPUP MENU XP


14-29559
Agent13
2004-01-20 15:39
2004.02.10
Delphi 7 Trial


1-29433
Maxximusss
2004-01-31 12:06
2004.02.10
Smart use SaveDialog