• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Delphi > delphi中一个值得大家来考虑的DLL问题

delphi中一个值得大家来考虑的DLL问题

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了delphi dll,delphi dll开发,delphi 调用dll,delphi 动态调用dll,delphi dll窗体等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

以下是我的原代码:
==========================================================================================
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. </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Delphi实现窗体感知鼠标滑过并自动隐藏与显示窗口的方法
  • delphi中一个值得大家来考虑的DLL问题

相关文章

  • 2017-05-28delphi中一个值得大家来考虑的DLL问题
  • 2017-05-28Delphi下OpenGL2d绘图之画线的方法
  • 2017-05-28截取指定符号之间的字符串(随机读取)delphi实例代码
  • 2017-05-28c# 多线程编程 入门篇
  • 2017-05-28Delphi实现检测并枚举系统安装的打印机的方法
  • 2017-05-28在Delphi实现在数据库中存取图像的图文演示无错
  • 2017-05-28Delphi建立、读取、存贮INI文件的方法《一》
  • 2017-05-28delphi7连接mysql5的实现方法
  • 2018-12-10delphi 实现微信公众号开发
  • 2017-05-28插件管理框架 for Delphi(二)

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • delphi设置开机自动启动函数具体实现
    • Delphi之Pascal语言中的关键字及保留字汇总
    • Delphi解析FTP地址的方法
    • Delphi 生成excel中饼图的实例代码
    • Delphi实现截屏存盘的方法
    • Delphi实现限定软件使用时间的方法
    • Delphi实现窗口文字淡入淡出渐变效果的方法
    • Delphi创建开机启动项的方法示例
    • Delphi远程连接Mysql的实现方法
    • Delphi实现木马文件传输代码实例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有