急!急!急!关于dll中调用form的问题
我有一个程序。主窗体为了漂亮和使用没有用mdiform所有的功能窗体都封装在dll中有一个标准的接口run。在调用的时候由主窗体传递dll中form所需要的参数。并且每个功能窗体打开后动态的创建一个窗口采单,但是如何才能在关闭窗体时同时也将对应的动态采单删除,自定义消息不能解决窗体名称参数问题。
附代码:《如有问题和错误请指出》
dll中的代码:
procedure Run(AppHandle:THandle;CS_PAR:Tcommservice);stdcall
var Form:TFrmTest;
pp:Pointer;
begin
Application.Handle:=AppHandle;
Form:=TFrmtest.Create(Application);
Form.cs:=cs_par;
Form.Show;
end;
exports
run;
begin
end.
//
//窗体中的代码
procedure TFrmDeskTop.RunModal(Path: string);
type
TRun=procedure(AppHandle:THandle;CS_PAR:Tcommservice);stdcall;
var
Run:Trun;
PrgH:Thandle;
begin
PrgH:=Loadlibrary(pChar(Path));
if PrgH<>0 then begin
@Run:=GetProcAddress(PrgH,'Run');
if @run<>nil then
begin
run(Application.Handle,DCS);
end;
end
else
FreeLibrary(PrgH);
end;