最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

delphi中一個值得大家來考慮的DLL問題

 更新時間:2008年03月15日 18:15:00   作者:  
在MDI窗體類型的編程中,主窗體(fsMDIForm)怎樣調(diào)用子窗體(fsMDIChild,此子窗體為DLL)。

以下是我的原代碼:
==========================================================================================
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,  //此單元為父窗體單元,在頂目設(shè)置中我已經(jīng)設(shè)置了搜索此單元在路徑。
  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.

相關(guān)文章

最新評論

昌都县| 离岛区| 扶绥县| 漳平市| 光泽县| 金寨县| 会宁县| 张掖市| 禄丰县| 米易县| 阳原县| 横山县| 从化市| 仙游县| 涞源县| 独山县| 永泰县| 铜川市| 丰城市| 福海县| 太和县| 察隅县| 于都县| 西吉县| 沐川县| 平陆县| 龙泉市| 阳江市| 福泉市| 金湖县| 泗水县| 安龙县| 高雄市| 承德县| 沁源县| 平陆县| 兴和县| 尼木县| 饶河县| 鄄城县| 绍兴市|