在C++里是这样定义的:
#define DllExport   extern "C" __declspec(dllexport)
DllExport int WINAPI EYC_Ent_ReadRec(int nDevID, ComStru Com, pEntRec pEr);Delphi里是这样申明的:
    function EYC_Ent_ReadRec(nDevID: Integer; Com: ComStru;  pEr: pEntRec): Integer; stdcall;
        external 'EYICCOM.dll' name 'EYC_Ent_ReadRec';为什么无法定位程序输入点EYC_Ent_ReadRec呢?
去掉“WINAPI”就可以定位,但出错。

解决方案 »

  1.   

    看看帮助中关于"Calling conventions"的部分.
      

  2.   

    名称重复,所以无法定位!去掉WINAPI,虽然名称不重复,但调用功能错位!
      

  3.   

    function EYC_Ent_ReadRec Alias 'EYC_Ent_ReadRec'(nDevID: Integer; Com: ComStru;  pEr: pEntRec): Integer; stdcall;
            external 'EYICCOM.dll' name 'EYC_Ent_ReadRec';
    使用别名!试一试
      

  4.   

    Com: ComStru;  pEr: pEntRec 这两个类型是什么,可能是参数传递的问题。
      

  5.   

    to:  yanhuizen(星河谷) 
    不行阿!还有什么办法?
      

  6.   

    To : PrgmLover(爱国者) :
    这是两个自定义结构体,不会跟他们有关系的,两边定义是一样的结构体。
      

  7.   

    应该没有问题,试一试这样:
    function EYC_Ent_ReadRec(nDevID: Integer; Com: ComStru;  pEr: pEntRec): Integer; stdcall; external 'EYICCOM.dll';另外,确认一下是否找对了'EYICCOM.dll'?
      

  8.   

    : xiaocha(小查) 
    DLL名称是绝对错不了的,什么都没写错,就是有一个“WINAPI”就无法定位,好奇怪。
      

  9.   

    不是名称,是否在搜索路径中有多个'EYICCOM.dll',
    而第一个恰好是在C++中没有加"WINAPI"编译的!
      

  10.   

    自己解决了,stdcall和cdecl的区别问题。