我用vc编了一个.dll
声明如下:extern "C" __declspec(dllimport) int TimeDelay(unsigned long n);我用VC已经调用成功了就是用delphi调用的时候会出现 ...Access Violation...
(我用delphi调用其他的.dll都成功的)delphi 声明如下:implementation
function TimeDelay(n: Cardinal):integer ;stdcall;external'TDelay2.dll'  n: Cardinal;
  a: integer;procedure TForm1.Button1Click(Sender: TObject);
begin
        n:=13;
        a:=TimeDelay(n);
end;请教高手

解决方案 »

  1.   

    extern "C" __declspec(dllimport) int TimeDelay(unsigned long n);
    改为
    extern "C" __declspec(dllimport) int __stdcall TimeDelay(unsigned long n);这是调用方式的问题!!!!!!!!!!!
      

  2.   

    建议使用DEF文件
    /DEF:xx.def
      

  3.   

    定义为
    extern "C"  int __stdcall TimeDelay(unsigned long n);
    并添加一DEF文件到工程中
    LIBRARY "ssss"EXPORTS
       TimeDelay
      

  4.   

    我按你说的方法试了好像还是不行。
    还是Access violation at 00000190. Read of address 00000190
      

  5.   

    对不起,刚才编译的时候还是用的老的.dll
    我的问题解决了,谢谢:)