void CALLBACK CompletionRoutine (
IN    DWORD dwError, 
IN    DWORD cbTransferred, 
IN    LPWSAOVERLAPPED lpOverlapped, 
IN    DWORD dwFlags 
)我这样写怎么不行
procedure CompletionRoutine (dwError: DWORD;
                             cbTransferred: DWORD;
                             lpOverlapped: LPWSAOVERLAPPED;
                             dwFlags: DWORD ); stdcall;

解决方案 »

  1.   

    什么错误?
    LPWSAOVERLAPPED未定义?
      

  2.   

    这是API 吗,那来的,在多贴一点出来看看?
    是个回调函数,试一下嘛!
      

  3.   

    windows调用以后就会出错,是给windows调用的
      

  4.   

    windows 什么时候调用它?
    你运行出错,通过编译,证明用法正确,
    问题那就应该出在函数里面了?
      

  5.   

    Relaynode=record;
     type
       Relaynode=record
         relaycounts:integer;
         device_number:string;
         ^next:relaynode;
         end;
    不对啊!找不到pascal的书了。
      

  6.   

    我是写在Dll里面的,
    我想知道翻译过来是不是这样翻译,其它的我可以解决。
    我翻译气它的都对了,不知道为什么这个不行
      

  7.   

    LPWSAOVERLAPPED这个肯定在前面有所定义,而你在delphi没有定义。你搜索一下看看……最好把你的代码给我发一份,我看看。要不这样找不到错误。[email protected]
      

  8.   

    windows调用了吗?
    你说调用出错,还是根本没调用它?
    要是没调用它?在仔细检查一下dll程序
      

  9.   

    我搞定了,忘记在前面定义回调函数了,本来在exe中是不用这样的