以下是我的原代码:
==================================================== ==========================================
RPD单元代码
programaMdiforme;
usos
formularios,
UMdiformin´UMdiform.pas´{Mainform},
UDMin´UDM.pas´{GlobalDM:TDataModule},
UFunin´UFun.pas´;
{$R*.res}
comenzar
Aplicación.Inicializar;
Aplicación.CreateForm(TMainform,Mainform);
Aplicación.Ejecutar;
fin.
==================================================== ================================================
主窗体代码:
unidadUMdiforme;
interfaz
usos
Windows, Mensajes, SysUtils, Variantes, Clases, Gráficos, Controles, Formularios,
Diálogos, Udm, StdCtrls;
tipo
TMainform=clase(TForm)
Botón1:TBotón;
procedimientoButton1Click(Remitente:TObject);
procedimientoFormCreate(Remitente:TObject);
privado
{Declaraciones privadas}
público
Mi identificador:HWND;
{Declaraciones públicas}
fin;
var
Información principal: T Información principal;
tipo
T_ShowTestMng=función(varadm:TMainform):Boolean;StdCall;
implementación
{$R*.dfm}
procedimientoTMainform.Button1Click(Remitente:TObject);
var
Lib_:THandle;
_ShowTestMng:T_ShowTestMng;
comenzar
Lib_:=LoadLibrary(pchar(´MdiChild.dll´));
intentar
@_ShowTestMng:=GetProcAddress(Lib_,´_ShowTestMng´);
si no(@_ShowTestMng=nil)entonces
_ShowTestMng (formulario principal);
finalmente
Biblioteca gratuita(Lib_);
fin;
fin;
procedimientoTMainform.FormCreate(Remitente:TObject);
comenzar
MiManija:=Aplicación.Manija;
fin;
fin.
==================================================== ===============================================
Nombre del archivo DLL:
bibliotecaMdiChild;
usos
compartirme,
UMdiform,//此单元为父窗体单元,在顶目设置中我已经设置了搜索此单元在路径。
formularios,
SysUtils,
clases,
UChildin´UChild.pas´{FrmChild};//FrmChild子窗体的FormStyle属性为FsMDIChild
{$R*.res}
function_ShowTestMng(varadm:TMainform):Boolean;StdCall;
comenzar
resultado:=verdadero;
Aplicación.Handle:=adm.MyHandle;
Application.CreateForm(TFrmChild,FrmChild);//程序就出错在此:出错原因是:No se puede crear un formulario. No hay formularios MDI actualmente activos.
FrmChild.Show;
fin;
exportaciones
_ShowTestMng;
fin.