procedure newForm;stdcall;export;
var
frm1:TForm1;
begin
frm1:=TForm1.Create(nil);
frm1.Show;
end;
然后用主程序 123.pas 调用"newForm"过程。。myDll.pas Form能正常显示出来。但按上面的按钮功能。就出现“Access violation at address 004E105F in module 'abc.dll'.Read of address 00000460”错误提示
如果将abc.dll改成这样写却能正常使用。。。我搞不懂这样写有什么区别。。
myDll in 'myDll.pas' {Form1};
procedure newForm;stdcall;export;
begin
Form1:=TForm1.Create(nil);
Form1.Show;
end;
我想实现的功能:是主程序 123.pas 有8个按钮。。每点击一个按钮就调用 newForm 动态生成一个 myDll.pas Form ...
所以想用第一种方法定义窗口来加以区分:
var
frm1,frm2,frm3,frm4,frm5,frm6,frm7,frm8:TForm1;
如果按第二种方法的虽然也能正常动态创建8个 myDll.pas Form 但没办法区分开来。我想显示/隐藏哪个窗口都无法判断。。。