Форум: "Основная";
Текущий архив: 2004.02.10;
Скачать: [xml.tar.bz2];
ВнизРабота с формой из 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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.008 c