怎样调用窗体里的公有函数?(csdn里的人好像更乐于助人啊) (200分)

  • 主题发起人 主题发起人 Xelloss
  • 开始时间 开始时间
X

Xelloss

Unregistered / Unconfirmed
GUEST, unregistred user!
DLL中的代码,用来打开一个对话框,如果存在了,就不用创建了。
procedure ExecPrint(aFileList: TStringList); overload;
var
hd: Hwnd;
begin
hd := FindWindow('TfmDwgPrn', '文件打印提交');
if hd <> 0 then
begin
SetForegroundWindow(hd);
///////////我如何才能执行fmDwgPrn.AddFiles(aFileList);????
Exit;
end;
CoInitialize(nil);
fmDwgPrn := TfmDwgPrn.Create(nil);
try
fmDwgPrn.AddFiles(aFileList); //////////就是这句!!
fmDwgPrn.ShowModal;
finally
fmDwgPrn.Free;
CoUninitialize;
end;
end;
各位如果有更好的办法,请指教。
PS:我试过MultInst,但是不行,由于调用它的进程不释放,它即使关了,下次也打不开了。
 
在 dll 中 use 包含 TfmDwgPrn 类的文件
 
可以用回调函数。
 
zw84611的方法或许可行

我是用自定义消息实现的。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部