我自己写了一个DLL,里面放了一个窗口,但是我不知道如何在其他程序中调用这个窗口。
解决方案 »
- WebBrowser问题 深受困扰,求指点迷津
- 合并同结构数据库AAA.DAT+BBB.DAT=CCC.DAT出错
- delphi与C搭配好还是学bcb好?
- 求倍数的函数
- rave怎样保存报表为HTML或PDF格式
- 如何用代码选择TDBEdit中的数据
- Sessions问题。
- 急请教!报表打印时如何使用变量控制函数COPY(STR,S,L)中的S?
- 为什么我的SavePictureDialog无效
- 5岁的小新,请过来!5岁的小新,请过来!5岁的小新,请过来!5岁的小新,请过来!5岁的小新,请过来!5岁的小新,请过来!
- 请问ToolBar能够占据窗体最上方而不会被其他控件占据的原理是什么?
- 关于TPrinter对象的问题
function showform:boolean;
var
form:Tform;
begin
try
result:=true;
form:=Tform.Create(application);
form.show;
finally
result:=false;
end;
end;再输出函数showform
直接写在帖子上也行,发到我的信箱也行[email protected]!
拜托,谢谢啦!
begin
try
Form1:=TForm1.Create(application);
Form1.showmodal;
finally
FreeAndnIl(Form1);
end;
end;在library中Exports showform;
library IcbsCardUse;uses
SysUtils,
Classes,
Windows,
Forms,
ComObj,
UTLoginToMain in 'UTLoginToMain.pas',
UCardUse in 'UCardUse.pas' {FrmCardUse},
dateselect in 'dateselect.pas' {frmDateSelect},
UInPassword in 'UInPassword.pas' {FrmInPassword},
UTCommCard in 'UTCommCard.pas',
ULand in 'ULand.pas' {FrmLand},
UTRegReadwrite in 'UTRegReadwrite.pas';{$R *.res}//利用传入的信息连接数据库并显示窗口
procedure CardUse(LinkDB: TLoginToMain);stdcall;
begin
Application.Handle:=LinkDB.AppHandle;
FrmCardUse:=TFrmCardUse.Create(Application); //建立窗口
frmDateSelect:=TfrmDateSelect.Create(Application);
FrmInPassword:=TFrmInPassword.Create(Application);
FrmLand:=TFrmLand.Create(Application);
try
with FrmLand do
begin
LoginToMain := TLoginToMain.Create; //建立存储登陆结果类
LoginToMain:=LinkDB; //传递参数
ShowModal;
end;
finally
FrmLand.Free;
frmDateSelect.Free;
FrmInPassword.Free;
FrmCardUse.Free;
end;
end;exports
CardUse name 'CardUse';begin
end.调用的时候这样子:
在你的全局出要声明一下:
procedure CardUse(LinkDB: TLoginToMain);stdcall;
external 'IcbsCardUse.Dll' name 'CardUse';然后调用的时候就可以向函数一样的用了。
注意:动态库最好不要封装窗体,而且一旦用完最好释放掉。这是我很早些的代码,在Delphi6下可以通过。你试试。