delphi中一个值得大家来考虑的DLL问题
作者:互联网
2025-08-30
以下是我的原代码:
==========================================================================================
DPR单元代码
programMdiform;
uses
Forms,
UMdiformin´UMdiform.pas´{Mainform},
UDMin´UDM.pas´{GlobalDM:TDataModule},
UFunin´UFun.pas´;
{$R*.res}
begin
Application.Initialize;
Application.CreateForm(TMainform,Mainform);
Application.Run;
end.
===============================================================================================
主窗体代码:
unitUMdiform;
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,Udm,StdCtrls;
type
TMainform=class(TForm)
Button1:TButton;
procedureButton1Click(Sender:TObject);
procedureFormCreate(Sender:TObject);
private
{Privatedeclarations}
public
MyHandle:HWND;
{Publicdeclarations}
end;
var
Mainform:TMainform;
type
T_ShowTestMng=function(varadm:TMainform):Boolean;StdCall;
implementation
{$R*.dfm}
procedureTMainform.Button1Click(Sender:TObject);
var
Lib_:THandle;
_ShowTestMng:T_ShowTestMng;
begin
Lib_:=LoadLibrary(pchar(´MdiChild.dll´));
try
@_ShowTestMng:=GetProcAddress(Lib_,´_ShowTestMng´);
ifnot(@_ShowTestMng=nil)then
_ShowTestMng(Mainform);
finally
FreeLibrary(Lib_);
end;
end;
procedureTMainform.FormCreate(Sender:TObject);
begin
MyHandle:=Application.Handle;
end;
end.
==============================================================================================
子窗体DLL代码:
libraryMdiChild;
uses
ShareMem,
UMdiform,//此单元为父窗体单元,在顶目设置中我已经设置了搜索此单元在路径。
Forms,
SysUtils,
Classes,
UChildin´UChild.pas´{FrmChild};//FrmChild子窗体的FormStyle属性为FsMDIChild
{$R*.res}
function_ShowTestMng(varadm:TMainform):Boolean;StdCall;
begin
result:=true;
Application.Handle:=adm.MyHandle;
Application.CreateForm(TFrmChild,FrmChild);//程序就出错在此:出错原因是:Cannotcreateform.NoMDIFormsarecurrentlyactive.
FrmChild.Show;
end;
exports
_ShowTestMng;
end.
相关标签:
相关推荐
专题
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
最新数据
相关文章
修改 Delphi 10.3.3 IDE 字体和字体大小
Delphi 3.0中连接数据库的三种方式
Oralce 调用Delphi写DLL去访问C# WebService的问题
一个C++及Delphi做的压缩程序
怎样在C#中调用Delphi6写的DLL
关于C#下写的Web Service 服务在Delphi下调用时的问题
在Delphi中的Access技巧集
传递和返回数据到一个Delphi编写的UDF
如何用Delphi和Web Services开发短信应用程序
如何用Delphi实现StringTokenizer功能
AI精选
