以下是我的原代码:
=================================================== ==========================================
DPR单元代码
程序Mdiform;
用途
表格,
UMdiformin´UMdiform.pas´{Mainform},
UDMin´UDM.pas´{GlobalDM:TDataModule},
UFunin'UFun.pas';
{$R*.res}
开始
应用程序.初始化;
Application.CreateForm(TMainform,Mainform);
应用程序.运行;
结尾。
=================================================== ===============================================
主要代码:
单位UMdiform;
界面
用途
Windows、消息、SysUtils、变体、类、图形、控件、表单、
对话框、Udm、StdCtrls;
类型
TMainform=类(TForm)
按钮1:T按钮;
procedureButton1Click(发件人:TObject);
procedureFormCreate(发送者:TObject);
私人的
{私人声明}
民众
我的句柄:HWND;
{公开声明}
结尾;
变量
主窗体:TMainform;
类型
T_ShowTestMng=函数(varadm:TMainform):Boolean;StdCall;
执行
{$R*.dfm}
procedureTMainform.Button1Click(发件人:TObject);
变量
Lib_:T句柄;
_ShowTestMng:T_ShowTestMng;
开始
Lib_:=LoadLibrary(pchar('MdiChild.dll'));
尝试
@_ShowTestMng:=GetProcAddress(Lib_,´_ShowTestMng´);
ifnot(@_ShowTestMng=nil)then
_ShowTestMng(主窗体);
最后
自由库(Lib_);
结尾;
结尾;
procedureTMainform.FormCreate(Sender:TObject);
开始
MyHandle:=Application.Handle;
结尾;
结尾。
=================================================== =============================================
子表格DLL代码:
库MdiChild;
用途
分享记忆,
UMdiform,//此单元为父单元,在顶部目设置中我已经在路径中设置了搜索此单元。
表格,
系统实用程序,
课程,
UChildin´UChild.pas´{FrmChild};//FrmChild子子表单的FormStyle属性为FsMDIChild
{$R*.res}
function_ShowTestMng(varadm:TMainform):Boolean;StdCall;
开始
结果:=真;
Application.Handle:=adm.MyHandle;
Application.CreateForm(TFrmChild,FrmChild);//程序就出错了:错误原因是:Cannotcreateform.NoMDIFormsarecurrentlyactive.
FrmChild.Show;
结尾;
出口
_ShowTestMng;
结尾。