delphi中如何导入并使用已编译的DLL。 此DLL为标准形式,有导出函数。如何使用。就像在VC里那样,有头文件与链接库就行了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个首先需要知道函数的名称。例如:function aaa(var aExposeText:string):Boolean; stdcall; external 'bbb.dll'; (2)运行时调用DLL DLL的另一种调用方法是在运行时调用。要调用到Windows的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); 上面的文章摘自:http://tech.sina.com.cn/c/663.html 你还可以参考:http://www.cnread.net/cnread1/dnwl/cxsj/delphi/jcjc/024.htmhttp://www.experts-exchange.com/Programming/Programming_Languages/Delphi/Q_21072909.html 把该dll中的函数或过程在一个单元中定义然后实现部分的形式function aaa(......): .....; stdcall; external 'XXXX.dll';这样的一个单元编译后,就类似与C中导入库了,不过不用什么头文件,呵呵,可以为其它程序所使用了。delphi中使用win32的api就是这个模式。关键是要注意调用约定,这里是stdcall,也可以为其它 函数: Function GetRegInfo(Flag:Integer):ShortString;external 'zdqreg.dll'; function pwDecrypt(PWS:ShortString):ShortString;external 'zdqreg.dll';使用:ADOConnection1.ConnectionString:=' Provider=SQLOLEDB.1;'+'Persist Security Info=False;User ID='+GetRegInfo(3)+';Password='+GetRegInfo(4)+';'+ 'Initial Catalog='+GetRegInfo(2)+';Data Source='+GetRegInfo(1); library path 丢失问题 请帮帮忙``` 怎样将Intraweb与websnap整合一起? 在线,立即给分!程序进入主界面后立即显示用户登陆窗口(密码,用户),我该把登陆窗口的showmodal放到那? 为什么无法改变QR的纸张设置,预览时总是A4界面? 帮忙: 如何自动登录 如何知道Memo组件当前的文本行数? 高手帮忙呀!adoquery的问题呀! 偷懒一问,怎样求DBGRID的某一列的和 请问哪里有DevExpressVCL20070506的汉化? 怎样才能用ShowMessage? 类似传递的算法,真心求教
例如:
function aaa(var aExposeText:string):Boolean; stdcall; external 'bbb.dll';
http://tech.sina.com.cn/c/663.html 你还可以参考:
http://www.cnread.net/cnread1/dnwl/cxsj/delphi/jcjc/024.htm
http://www.experts-exchange.com/Programming/Programming_Languages/Delphi/Q_21072909.html
然后实现部分的形式
function aaa(......): .....; stdcall; external 'XXXX.dll';这样的一个单元编译后,就类似与C中导入库了,不过不用什么头文件,呵呵,可以为其它程序所使用了。delphi中使用win32的api就是这个模式。关键是要注意调用约定,这里是stdcall,也可以为其它
Function GetRegInfo(Flag:Integer):ShortString;external 'zdqreg.dll';
function pwDecrypt(PWS:ShortString):ShortString;external 'zdqreg.dll';使用:ADOConnection1.ConnectionString:=' Provider=SQLOLEDB.1;'+'Persist Security Info=False;User ID='+GetRegInfo(3)+';Password='+GetRegInfo(4)+';'+
'Initial Catalog='+GetRegInfo(2)+';Data Source='+GetRegInfo(1);