请教delphi 7.0中,是如何调用外部的dll 的 ,如果 供应商提供的一个.dll 如 aa.dll ,其中有一些函数 ,在delphi 中调用该aa.dll 中的
函数,不知语法上应如何处理 。请高手指点》

解决方案 »

  1.   


      procedure Encrypt(S:Pchar;key:Pchar;dest:Pchar);stdcall; external 'crypt.dll';
      procedure Decrypt(S:Pchar;key:Pchar;dest:Pchar);stdcall; external 'crypt.dll';
      

  2.   

    楼上为静态调用.
    还有一个动态调用:
    需要用到3个API函数:
      LoadLibrary(lpLibFileName: PAnsiChar);
      GetProcAddress(hModule: Cardinal; lpProcName:PAnsiChar);
      FreeLibrary(hLibModule: Cardinal);
      

  3.   

    动态调用比较麻烦,你先用静态调用吧,楼上的
    procedure Encrypt(S:Pchar;key:Pchar;dest:Pchar);stdcall; external 'crypt.dll';
    procedure Decrypt(S:Pchar;key:Pchar;dest:Pchar);stdcall; external 'crypt.dll';
    external '{这里是路径+文件名,可以是相对的,如上面。}'
    如里是像上面写的,你还可以把DLL文件放在WINDOWS目录下,或者系统目录下,不过DLL重名就麻烦了。
    过程Decrypt是DLL里面的,你只要需把上面的两句放在implementation下面就可以在程序任何地方调用了,其实你可以多看看人家的例子的,我常访问的http://www.delphiun.com/
      

  4.   

    把动态链接库拷到你的程序目录下,然后引用就行了。
    打包发布时也要发布这几个DLL文件。
    procedure Encrypt(S:Pchar;key:Pchar;dest:Pchar);stdcall; external 'crypt.dll';
    procedure Decrypt(S:Pchar;key:Pchar;dest:Pchar);stdcall; external 'crypt.dll';静态调用就行,没必要动态。