请都各位如何在DELPHI中调用其它语言编的DLL文件,如有一个DLL文件在VB中的调用如下:
    Private Declare Sub ModifySpeed Lib "speedup.dll" (ByVal NewSpeed As Long)
而我在DELPHI中是这样写的:
   procedure ModifySpeed(NewSpeed:Longint);stdcall  external 'speedup.dll';
可是动行时老是提示:无法定位程序输入点ModifySpeed于动态链接库f:\MyDll\speedup.dll上(我的DLL文件放在与调用程序一个目录下F:\Mydllgh ).
请各位多指点。

解决方案 »

  1.   

    f:\MyDll\speedup.dll
    与你当前目录下的同名文件版本不同?
    是否路径设置的问题?
      

  2.   

    To:
       windindance(风舞轻扬) f:\MyDll\speedup.dll
    与你当前目录下的同名文件版本不同?(是什么意思啊!)我的DLL文件与调用该DLL文件的程序是放在同一目录下的。我采用动态载入DLL文件是编译可以通过。但在调用ModifySpeed这人函数时却报错,提示如下:
      Class EPrivilege with message'Privileged instruction' process Stopped.等。请问这是啥意思啊!还有就是Long类型在DELPHI中用integer代替没错吧!
      

  3.   

    也可以用LONGINT 代替LONG啊?
      

  4.   

    注意在DELPHI中声明DLL函数名数一定要注意原始函数名的大小写。
      

  5.   

    函数名的大小写应该没错吧,其实我也不知道该DLL中的函数名是什么,只是看到VB中是这么调用该函数的。是用来加速的,因为在用MAPX做一个GIS系统,在地图窗口中要模拟车辆轨迹在地图上用点标记,但速度太慢,所以找了一个可以加速的DLL。
      

  6.   

    哦,最好看看这个dll中到底是什么东西!搞清楚了在调用,注意大小写的区别!
      

  7.   

    procedure ModifySpeed(NewSpeed:Longint);stdcall ;far;  external 'speedup.dll';