delphi中一个值得大家来考虑的DLL问题_Delphi教程-查字典教程网
delphi中一个值得大家来考虑的DLL问题
delphi中一个值得大家来考虑的DLL问题
发布时间:2016-12-28 来源:查字典编辑
摘要:以下是我的原代码:=============================================================...

以下是我的原代码:

==========================================================================================

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学习
    热门Delphi学习
    编程开发子分类