delphi中一个值得大家来考虑的DLL问题
2008-03-15 18:15
1076 查看
以下是我的原代码:
==========================================================================================
DPR 单元代码
program Mdiform;
uses
Forms,
UMdiform in ´UMdiform.pas´ {Mainform},
UDM in ´UDM.pas´ {GlobalDM: TDataModule},
UFun in ´UFun.pas´;
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TMainform, Mainform);
Application.Run;
end.
===============================================================================================
主窗体代码:
unit UMdiform;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Udm,StdCtrls;
type
TMainform = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
MyHandle:HWND;
{ Public declarations }
end;
var
Mainform: TMainform;
type
T_ShowTestMng=function (var adm:TMainform) : Boolean; StdCall;
implementation
{$R *.dfm}
procedure TMainform.Button1Click(Sender: TObject);
var
Lib_ :THandle;
_ShowTestMng :T_ShowTestMng;
begin
Lib_:=LoadLibrary(pchar(´MdiChild.dll´));
try
@_ShowTestMng:=GetProcAddress(Lib_,´_ShowTestMng´);
if not(@_ShowTestMng=nil) then
_ShowTestMng(Mainform);
finally
FreeLibrary(Lib_);
end;
end;
procedure TMainform.FormCreate(Sender: TObject);
begin
MyHandle:=Application.Handle;
end;
end.
==============================================================================================
子窗体DLL代码:
library MdiChild;
uses
ShareMem,
UMdiform, //此单元为父窗体单元,在顶目设置中我已经设置了搜索此单元在路径。
Forms,
SysUtils,
Classes,
UChild in ´UChild.pas´ {FrmChild};//FrmChild子窗体的FormStyle属性为FsMDIChild
{$R *.res}
function _ShowTestMng(var adm:TMainform) : Boolean; StdCall;
begin
result:=true;
Application.Handle:=adm.MyHandle;
Application.CreateForm(TFrmChild,FrmChild); //程序就出错在此:出错原因是:Cannot create form. No MDI Forms are currently active.
FrmChild.Show;
end;
exports
_ShowTestMng;
end.
您可能感兴趣的文章:
相关文章推荐
- 一个值得大家来考虑的DLL问题
- 一个值得大家来考虑的DLL问题
- PB调用DELPHI的DLL之间传值的问题,大家来看看
- VC调用Delphi写的dll的一个问题的处理
- Delphi 调用 C# Dll 时一个编译问题 mscorlib_TLB.h Ambiguity between 'String' and 'System::String'
- Delphi6 调用 C# Dll 时一个编译问题
- D2009 UP3和D2010 V3449 都没解决DLL的问题!(值得大家研究)
- Delphi写的DLL,OCX中多线程一个同步问题
- Delphi的MDI编程中遇到的一个奇怪问题(值得研究的一个问题)
- 开放还是封闭?一个值得考虑的问题
- 请教大家一个问题(有关于 通信行业 )
- 一个简单但值得深思的问题!
- delphi 一个关于xml文件导入数据库的问题
- 今天碰到一个强数据类型集的问题,不知道大家怎么解决呢????
- 分析一个软件要考虑的问题
- 在Delphi的DLL中使用FastReport要处理的几个问题
- 求一个数值的整数次方,不考虑大数的问题
- 关于java程序的一个小问题,大家可以学习下
- VS2005发布网站问题及"aspnet_merge.exe”已退出,代码为 1的错误以及所有代码文件生成一个dll
- delphi平台的贪吃蛇游戏,有点小问题,请大家帮忙看一下谢谢