📄 delp026.html
字号:
<html><!-- #BeginTemplate "/Templates/delphi.dwt" -->
<head>
<!-- #BeginEditable "doctitle" -->
<title>独孤之所 - 在Delphi应用程序中使用DLL</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta NAME="author" VALUE="独孤求败(Fwolf)">
<!-- #EndEditable -->
<style type="text/css">
<!--
body { font-family: "宋体"; font-size: 9pt}
td { font-family: "宋体"; font-size: 9pt}
a:hover { text-decoration: underline}
a { text-decoration: none}
input { font-family: "宋体"; font-size: 9pt}
select { font-family: "宋体"; font-size: 9pt}
-->
</style>
</head>
<body>
<table width="98%" border="0" align="center">
<tr>
<td width="33%"><a href="../../../index.html"><img src="../../../logos/fwolf9.gif" width="271" height="60" alt="独孤之所首页" border="0"></a></td>
<td width="67%">
<div align="center"> </div>
</td>
</tr>
</table>
<table width="100%" border="0" align="center" cellspacing="1" bgcolor="#66FF66">
<tr>
<td width="90%"><a href="../../../index2.html">独孤之所</a> > <a href="../../book.htm">天下文章</a>
> <a href="../delphi.html">Delphi</a> > <font color="#FF3333"><!-- #BeginEditable "2%C7%F8" -->在Delphi应用程序中使用DLL<!-- #EndEditable --></font>
</td>
<td width="10%">
<div align="center"><a href="javascript:window.close()">[关闭窗口]</a></div>
</td>
</tr>
</table>
<hr size="1">
<br>
<table width="584" border="0" align="center" cellspacing="1">
<tr>
<td width="582"> <font color="#FF3333">
<div align="center"><!-- #BeginEditable "%B1%EA%CC%E2" -->在Delphi应用程序中使用DLL<!-- #EndEditable --></div>
</font> </td>
</tr>
<tr>
<td width="582">
<div align="center"><!-- #BeginEditable "%D7%F7%D5%DF" -->作者:广西 李澄<!-- #EndEditable --></div>
</td>
</tr>
<tr>
<td width="582"><!-- #BeginEditable "%CE%C4%B1%BE%C7%F8" -->
<center>
<p align="left">Delphi不仅可调用C++产生的DLL模块,同样C++程序也可调用Delphi所产生的 <br>
<br>
DLL部件。这样交互调用,无须重复开发,大大缩短了生产周期。…… <br>
<br>
Delphi与VisualBasic、VisualFoxPro等软件一样,属于RAD工具(快速应用开发工具)。 <br>
<br>
适合开发32位或16位/32位混合应用程序。Delphi所使用的程序语言是ObjectPascal, <br>
<br>
是结构化、面向对象的编译型语言,具有高执行效率、可重用性、易维护性,及较强的异 <br>
<br>
常处理能力、类封装能力等。VB与Delphi相比,VB不能对程序进行编译,只能解释执行, <br>
<br>
更重要的不同是Delphi具有较强的继承性,Delphi的应用程序可编译DLL模块,VB却无 <br>
<br>
法编译,只能调用C编译的DLL。而Delphi不仅可调用C++产生的DLL模块,同样C <br>
<br>
++程序也可调用Delphi所产生的DLL部件。这样交互调用,无须重复开发,大大缩短 <br>
<br>
了生产周期。 <br>
<br>
一、用Delphi创建DLL <br>
<br>
Delphi的DLL创建并不复杂,下面向大家介绍Delphi的DLL创建方法。 <br>
<br>
1、首先创建一个新的DLL项目(NewProject),因为DLL与调用它的主程序要分开 <br>
<br>
编译。如果DLL模块已经建立在调用它的项目中(Project),则将它的窗体(Form)从Project <br>
<br>
移出,另建一个新的项目(NewProject)。只需从File菜单选中NewProject项,然后将DLL <br>
<br>
的Pas模块文件加入到项目中,再将其自动建立的Form1删除即可。 <br>
<br>
2、在DLL的DPR文件中把Program关键字改为Library,申明为动态链接库,在USES <br>
<br>
语句后面加入ExPorts语句,指明调用DLL的函数名。 <br>
<br>
3、如果主程序的DPR文件已有DLL窗体CreateForm的语句,则将其去掉。 <br>
<br>
4、在DLL的Pas文件中Type......End后加入该DLL的函数或过程的声明,形式 <br>
<br>
如: FunctionName(argment):Boolean;export; <br>
<br>
该函数或过程应加入窗体的Create和Free(产生和释放)方法。 <br>
<br>
5、对项目进行编译即可。 <br>
<br>
二、DLL的调用 <br>
<br>
调用DLL有两种方法,一种是在应用程序装载时调用,另一种是在应用程序运行时调 <br>
<br>
用。首先介绍装载时DLL的调用: <br>
<br>
(1)装载时调用DLL <br>
<br>
Pas文件中,对DLL函数进行外部声明,声明应位于Implementation的Uses语句后,形式 <br>
<br>
如下: <br>
<br>
Implementation <br>
<br>
UsesDialogs; <br>
<br>
FunctionName(argment):Boolean;far;External′Call
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -