10.1.2动态链接库(DLL)编写 根据动态链接库完成的功能,可把DLL 分成三类:完成一般功能的DLL、用于数据交 换的DLL和用于窗体重用的DLL。 【例10-1】创建一个动态链接库,该动态链接库 中包含两个函数,分别用于求三个数的最大值和最小 值。为编写该动态链接库,需经过以下步骤: (1)建立DL程序框架 在 Delphi7.0集成环境中,执行【File】→ 【New】→【0ther】命令,将会出现【 New items】 对话框窗口,在该窗口中找到【 DLL Wizard】图标, 如图10-3所示
10.1.2 动态链接库(DLL)编写 根据动态链接库完成的功能,可把DLL 分成三类:完成一般功能的DLL、用于数据交 换的DLL和用于窗体重用的DLL。 【例10-1】创建一个动态链接库,该动态链接库 中包含两个函数,分别用于求三个数的最大值和最小 值。为编写该动态链接库,需经过以下步骤: (1)建立DLL程序框架 在Delphi 7.0集成环境中,执行【File】→ 【New】→【Other】命令,将会出现【New Items】 对话框窗口,在该窗口中找到【DLL Wizard】图标, 如图10-3所示
7 Hey Items Projects Data Modules Intraweb WebServices Business webSnap Web Documents Corba New Activex Multitier I Project2I Forms I I Dialogs CLX Frame Component Console Control Panel Control Panel C Application Application Module Data Module DLL Wizard Form Frame Package C Copy C Inherit C Use K Cancel Help 图10-34 New items对话框
图10-3 “New Items”对话框
2.建立过程和函数 为该动态链接库项目增加如下两个函数: Function max( x,y, z: Integer) nteger;sdcl!求三个数的最 大值函数 Function Min (x, y, z: Integer): Integer; stdcall; //3 三个数的最小值函数
2.建立过程和函数 为该动态链接库项目增加如下两个函数: Function Max(x,y,z:Integer):Integer;stdcall;//求三个数的最 大值函数 ········· Function Min(x,y,z:Integer):Integer;stdcall;//求 三个数的最小值函数 ·········
(3)用 exports语句声明供其它应用程序 调用的涵数和过程名 函数或过程定义好后,为了能够被其它应用程序调用, 还必须用 Exports子句把函数名列出。本例使用的 Exports语句如下: exports Max, Min Exports语句的格式与功能如下: exports entry, entry4,.., entry, (4)生成DLL文件 执行【 Project】→【 Build Exam101】命令 (“Exam101”为动态链接库项目文件名),将自动 生成名为“Exam101.d1的动态链接库文件
(3)用exports语句声明供其它应用程序 调用的函数和过程名 函数或过程定义好后,为了能够被其它应用程序调用, 还必须用Exports子句把函数名列出。本例使用的 Exports语句如下: exports Max,Min; Exports语句的格式与功能如下: exports entry1,entry2,……,entryn; (4)生成DLL文件 执 行 【Project】→【Build Exam_10_1】 命 令 (“Exam_10_1”为动态链接库项目文件名),将自动 生成名为“Exam_10_1.dll”的动态链接库文件