在DLL里输出一个函数,如proceduer MyForm1Show;stdcall;
begin
if not Assigned(MyForm1) then MyForm1:=TMyForm1.Create(nil);
MyForm1.Show;//ShowModal
end;exports
MyForm1Show;//注意:释放内存空间问题
解决方案 »
- delphi按键问题.....等待解决
- 在delphi 里面!!!
- qreport的打印问题!合计项?
- delphi7 安装完成后,如何注册?请大家帮忙!
- 如何将Form封装成一个控件,程序调用此控件的函数能实现弹出、传递值等?
- 我有好几个问题,请大家帮忙
- sql server & xml&Tquery 问题
- 在给treeview节点改名会触发什么事件?
- 再次请教如何实现小计(即计算每页某字段的和)80分
- delphi中是否有类似vb中Driverlist之类的控件?
- delphi三层的难题
- DELPHI里的TNMFTP控件当下载超过2MB时就会中断ABORT请问这是不是BUG还有其他比较好的吗?
调用DLL中的MDI窗体到是问题很多。
我的例子是模态的在dll中窗体的单元,定义输出函数。
.....
var
Form1: TForm1;
procedure ShowForm1;export;stdcall;implementation
{$R *.DFM}procedure ShowForm1;
begin
Form1 := TForm1.Create(nil);
try
Form1.ShowModal;
finally
Form1.Free;
end;
end;{ TForm1 }....dll的输出函数的定义:library test;uses
SysUtils,
Classes,
Unt_Form1 in 'Unt_Form1.pas' {Form1},
Unt_Form2 in 'Unt_Form2.pas' {Form2},
dynicload in 'unt_dynicload.pas';{$R *.RES}
exports
ShowForm1, ShowForm2;
begin
end.delphi的dll装载,有静态的,和动态的。
你还是去看书吧。
dephi开发dll很方便的。使用也方便。注意的是pascal传参顺序和系统传参顺序不一样,dll输出函数要加上stdcall;关键字。