我做了个动态链接库文件。qqq.dll 在另外一个程序中想调用其中的窗体和函数,比如说调用其中的一个窗体不能用 showmodal啊时吧怎么搞好一些请高手指点!!!!!!!!!!!!!(1)、var hint:Thandle; begin
hint:=library('d:\qqq.dll') ......调用dll程序(2)、调用其中的窗体(打开窗体录入数据)
.......................................不能用showmodal啊.
hint:=library('d:\qqq.dll') ......调用dll程序(2)、调用其中的窗体(打开窗体录入数据)
.......................................不能用showmodal啊.
SysUtils,
Classes,
Windows,
Unt_kaoqin in 'Unt_kaoqin.pas' {Frm_kaoqin},
Unt_kqmd in 'Unt_kqmd.pas' {Frm_kqmd},
Unt_b in 'Unt_b.pas' {Frm_b};function ShowForm(ParentHandle:THandle):Bool;stdcall;
begin
Frm_kaoqin:=TFrm_kaoqin.Create(nil);
Frm_kaoqin.Tag:=ParentHandle;
try
Frm_kaoqin.Show;
except
Frm_kaoqin.Free;
end;
Result:=True;
end;exports
ShowForm;{$R *.res}begin
end.主程序调用
procedure TFrm_main.Button1Click(Sender: TObject);
type
TPro=function(ParentHandle:THandle):Bool;stdcall;
var
p:TPro;
begin
FrmdllHandle:=LoadLibrary('d:\qqq.dll');
if FrmdllHandle<>0 then begin
@p:=GetProcAddress(FrmdllHandle,'ShowForm');
if @p<>nil then begin
p(Self.Handle);
end else begin
FreeLibrary(FrmdllHandle);
ShowMessage('not found function');
end;
end else ShowMessage('Not Load Dll');
end;
ShowForm; 输出怎么办?是不是自已建函数在引用
Function abs(,.....):Bool;stdcall;
begin
.......
showmodal;
......
end;
在主程序疗中怎么办?他没有exports
ShowForm 能不能举个简单的例程