Windows高级编程.ppt

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Windows高级编程整理ppt

Delphi程序设计教程 2005年 8月 杨长春 主编 清华大学出版社 同名教材 配套电子教案 第8章 Windows高级编程 8.1 动态链接库编程 8.1.1 动态链接库简介 8.1.2 创建DLL 8.1.3  DLL文件的调用 8.2 ActiveX编程 8.2.1 创建ActiveX控件Button 8.2.2 添加新属性 8.2.3 ActiveX的使用 小结 习题8 第8章 Windows高级编程 动态链接库DLL(Dynamic Link Libraries)和ActiveX技术是Windows编 程中两种比较重要同时又比较流行的技术。Delphi对这两种技术提供了强大的 支持,可以方便快速的创建DLL以及注册和引用ActiveX。本章将分别介绍这两 种技术。 8.1动态链接库编程 8.1.1 动态链接库简介 DLL文件在内存中仅装载一次,因此可节约系统内存;DLL文件独立于编程 语言,也就是说用某种语言编写的DLL文件可以被其他的编程语言调用,比如 用Delphi编写的DLL可以被VC、VB等使用。DLL的另外一个好处就是对DLL文件 的升级和更新是和应用程序无关的,任何升级都可以自动传播到所有调用该 DLL的应用程序中。 8.1.2 创建DLL 可以利用Delphi提供的DLL模板轻松的创建一个DLL文件的框架,开发人员 所需要做的就是设计DLL函数或资源。Delphi创建的框架为开发人员屏蔽了大 量的Windows实现细节,这使得开发人员可以集中更多的精力设计DLL的实现功 能。下面通过举例说明如何使用Delphi的摸板创建DLL文件。 【例8-1】 创建一个实现角度转换为弧度功能的DLL文件。 首先,打开“File”菜单,选择“New”,再选择“Other”,出现如下图所示的对话框。 在对话框的 New选项卡中找到DLL选项(DLL Wizard),双击自动打开一个工程代码窗口,其内容如下: library Project1; //DLL 工程的工程名 { Important note about DLL memory management: 下面的内容省略//关于DLL的注释} uses SysUtils, Classes; //默认加载的库单元 {$R *.res} begin end. 第一行代码说明这个工程文件是DLL类型的,其自动命名的工程名为Project1,可以修改该工程名,Begin和end之间用来写DLL运行时的启动代码,一般情况下,无需在此处写任何代码。 下面是将工程名改为AngToArcDLL并且设计了一个可以被外部调用的函数FunAngToArc的完整代码。 library AngToArcDLL; //DLL的工程名 { Important note about DLL memory management: 下面的内容省略 } //关于DLL的注释 uses SysUtils,Classes; {$R *.res} function FunAngToArc( d:double):double; stdcall; //函数的书写形式 begin result:=d/180.0*pi; end; exports //该关键字表明下面将列出需要输出的函数 FunAngToArc; begin end. 在上面的代码中,设计了函数FunAngToArc 的实现,该函数有一个参数d,该参数值将由调用程序给出。在函数声明部分后边的关键字stdcall是不能缺少的,它指定了函数的调用方式。 另外一个重要的关键字是Exports。在DLL中设计的函数或过程,如果需要被外部的应用程序调用,就必须在Exports后面输出,输出的方式为直接书写该函数或过程的名称即可。 8.1.3  DLL文件的调用 DLL文件的调用一般有两种方法,即静态调用方法和动态调用方法,下面通过例8-2介绍。 【例8-2】 DLL文件的静态调用和动态调用方法示例? (1)界面设计        (2)对象属性设置 (3)程序设计 type TFunAngToArc=function (d:double):double;stdcall; //定义函数类型 implementation {$R *.dfm} function  FunAngToArc(d:double):double; stdcall; external  AngToArcDLL.dll; procedure T

文档评论(0)

zyzsaa + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档