此DLL为标准形式,有导出函数。如何使用。就像在VC里那样,有头文件与链接库就行了。

解决方案 »

  1.   

    这个首先需要知道函数的名称。
    例如:
    function aaa(var aExposeText:string):Boolean; stdcall;  external 'bbb.dll';
      

  2.   

    (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);  
      

  3.   

    上面的文章摘自:
    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
      

  4.   

    把该dll中的函数或过程在一个单元中定义
    然后实现部分的形式
    function aaa(......): .....; stdcall;  external 'XXXX.dll';这样的一个单元编译后,就类似与C中导入库了,不过不用什么头文件,呵呵,可以为其它程序所使用了。delphi中使用win32的api就是这个模式。关键是要注意调用约定,这里是stdcall,也可以为其它
      

  5.   

    函数:
     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);