首 页
┆
源码下载
┆
IT学院
┆
字体下载
┆
模板下载
┆
源码发布
┆
广告合作
┆
网站地图
┆
虚拟主机
┆
中文域名
►
设为首页
►
加入收藏
►
联系我们
源码下载
>>
ASP源码
|
PHP源码
|
ASP.net源码
|
JSP源码
|
CGI源码
|
VC/C++源码
|
VB源码
|
Delphi源码
|
Flash源码
文章学院
>>
网络编程
|
网页设计
|
图形图象
|
数据库
|
服务器
|
网络媒体
|
网络安全
|
操作系统
|
办公软件
|
软件开发
|
黑客知识
字体下载
>>
精制字体
|
非英字体
|
艺术字体
|
著名字体
|
哥特式
|
简单字体
|
手写体
|
节假日
|
图案字体
|
精度像素
|
中文字体
模板下载
>>
企业门户
|
数码网络
|
休闲娱乐
|
影视音乐
|
旅游名胜
|
文化艺术
|
电子商务
|
个性展示
|
登陆导航
|
Flash模板
源码搜索
文章搜索
字体搜索
模板搜索
►►
您当前的位置:
源码园
→
IT学院
→
软件开发
→
Delphi编程
→ 文章内容
在Delphi应用程序中使用DLL
作者:佚名 来源:网上收集 发布时间:2005-12-10 0:19:14
<-SSE WIDTH=100% SSE->
Delphi不仅可调用C++产生的DLL模块,同样C++程序也可调用
Delphi所产生的DLL部件。这样交互调用,无须重复开发,大大缩短了生产周期。……
Delphi与VisualBasic、VisualFoxPro等软件一样,属于RAD工具(快速应用开发工具)。适合开发32位或16位/32位混合应用程序。
Delphi所使用的程序语言是ObjectPascal,是结构化、面向对象的编译型语言,具有高执行效率、可重用性、易维护性,及较强的异常处理能力、类封装能力等。
VB与
Delphi相比,
VB不能对程序进行编译,只能解释执行,更重要的不同是
Delphi具有较强的继承性,
Delphi的应用程序可编译DLL模块,
VB却无法编译,只能调用C编译的DLL。而
Delphi不仅可调用C++产生的DLL模块,同样C++程序也可调用
Delphi所产生的DLL部件。这样交互调用,无须重复开发,大大缩短了生产周期。
一、用
Delphi创建DLL
Delphi的DLL创建并不复杂,下面向大家介绍
Delphi的DLL创建方法。
1、首先创建一个新的DLL项目(NewProject),因为DLL与调用它的主程序要分开编译。如果DLL模块已经建立在调用它的项目中(Project),则将它的窗体(Form)从Project 移出,另建一个新的项目(NewProject)。只需从File菜单选中NewProject项,然后将DLL的Pas模块文件加入到项目中,再将其自动建立的Form1删除即可。
2、在DLL的DPR文件中把Program关键字改为Library,申明为动态链接库,在USES语句后面加入ExPorts语句,指明调用DLL的函数名。
3、如果主程序的DPR文件已有DLL窗体CreateForm的语句,则将其去掉。
4、在DLL的Pas文件中Type......End后加入该DLL的函数或过程的声明,形式如: FunctionName(argment):Boolean;export;
该函数或过程应加入窗体的Create和Free(产生和释放)方法。
5、对项目进行编译即可。
二、DLL的调用
调用DLL有两种方法,一种是在应用程序装载时调用,另一种是在应用程序运行时调用。首先介绍装载时DLL的调用:
(1)装载时调用DLL
Pas文件中,对DLL函数进行外部声明,声明应位于Implementation的Uses语句后,形式如下:
Implementation
UsesDialogs;
FunctionName(argment):Boolean;far;External′CallName′;
......
其中External关键字后面的引号内的字串是DLL的文件名。声明以后即可在Pas文件任何地方引用DLL函数。
装载时调用DLL的优点是速度较快,程序间也可共享代码。
(2)运行时调用DLL
DLL的另一种调用方法是在运行时调用。要调用到Win dows的API函数:loadlibrary,Getprocaddress等。主要用于调用DELPHI和其它语言,特别是C++编译的DLL。
假定你的DLL包括一个函数:
FunctionMyFunc(aparam:word):string;export;
首先在程序Type类型声明处加入一句:
Type
TMyfuncΚfunction(aparam:word):string;
此句的作用如同C++中声明的函数指针。
然后定义如下变量∶
Var
aptr:TFarproc;
lhnd:THandle;
s:string;
其中Aptr,lhnd两变量声明必须有,s是DLL函数返回值,视情况而定。
在调用DLL处加入如下语句进行DLL装载:
lhnd:ΚLoadlibrary(′路径ιDLL文件名′);{
如lhnd:ΚLoadlibrary(′c:ιaaιbb.dll′);
aptr:ΚGetprocAddress(lhnd,′Myfunc′);
下面可直接调用DLL了:
s:ΚTMyfunc(bptr)(60);{根据函数填相应的变量参数}
调用完以后,用FreeLibrary释放DLL占用的内存:
FreeLibrary(lhnd);
[] [
返回上一页
] [
打 印
]
上一篇文章:
Delphi中API编程--在Delphi中调用API函数
下一篇文章:
用DELPHI编程访问SQL SERVER数据库
相关文章:
简析XML及其在Delphi中的应用
在Delphi中使用电子邮件
怎样在DELPHI中实现文件切割/组合
在Delphi应用程序中使用DLL
Delphi中API编程--在Delphi中调用API函数
如何在Delphi中制作“动态选单”
[图文]
在Delphi中定位文件位置
在Delphi中如何控制其它应用程序窗口
组件技术在Delphi中的实现(1)
如何在Delphi中操作Excel
[图文]
如何在Delphi中实现ASP编程
在DELPHI中利用API实现网格内组件的嵌入
关于本站
-
网站帮助
-
广告合作
-
下载声明
-
友情连接
-
网站地图
-
源码发布
Copyright © 2003-2009
Ymyasp
.Com
. All Rights Reserved .
备案序号:粤ICP备07029071号