关于DELPHI调用DLL时的回调函数有关问题

求助:关于DELPHI调用DLL时的回调函数问题
DLL是用C++编写的 要用DELPHI调用 可是其中的回调函数一直没反应啊

#ifndef _FSC_MOTOSRV_H_
#define _FSC_MOTOSRV_H_

#ifdef WIN32
 #ifdef MOTO_SRV_EXPORTS
  #define MOTOSRV_API  extern "C" __declspec(dllexport) 
 #else
  #define MOTOSRV_API  __declspec(dllimport) 
 #endif

 #define _CALL __cdecl
#endif  //WIN32

 
typedef int  bool;


typedef void (WINAPI *MOTO_Callback)(char *msg, int msglen);


//注册接到对方数据时的回调函数
MOTOSRV_API void _CALL MOTO_SetCallBackFun(MOTO_Callback cb);

以上是DLL的头文件

void __stdcall display(char *msg, int len)
{
int i;
for(i =0; i<len; ++i)
{
printf("0x%02x ",msg[i]);
}
printf("\n");
return;
}


int main(int argc, char **argv)
{


//////////////////////// 接收数据 ////////////////////////////
//设置回调函数
MOTO_SetCallBackFun(display);

//开始接收数据
MOTO_StartRecv(Port);


}

以上是C++调用DLL时候的回调函数部分,运行正常。

type
PCALLBACK = procedure(ss:string;n:integer);stdcall;

procedure CallBack(ss:string;n:integer);stdcall;

procedure MOTO_SetCallBackFun(cbf: PCALLBACK);cdecl; external 'moto_srv.dll';

implementation

procedure CallBack(ss:string;n:integer);stdcall;

begin
   showmessage('11');
end;

procedure TForm1.Sendaaa();
var
callbackFun: PCALLBACK;
begin
    callbackFun:= CallBack;
    MOTO_SetCallBackFun(callbackFun);
    MOTO_StartRecv(4004);

end;

以上是DELPHI 调用DLL的回调函数部分的代码,可是回调函数完全没反应啊,请问什么地方有问题啊?谢谢!
------解决方案--------------------
。。。。。我看到了string,换成PChar试试
PCALLBACK = procedure(ss:pchar;n:integer);stdcall;

procedure CallBack(ss:pchar;n:integer);stdcall;
------解决方案--------------------
试试这样
MOTO_SetCallBackFun(@callbackFun);
------解决方案--------------------
调用约定问题
------解决方案--------------------
尽量不要用string

------解决方案--------------------
zwjchina163@163.com
------解决方案--------------------
你的dll有问题。模块无法加载
------解决方案--------------------
可能与连接硬件有关。
procedure MOTO_SetNetParam(str:string; n:integer);cdecl;external'moto_srv.dll' ;

需要修改一下

procedure MOTO_SetNetParam(str:PAnsiChar; n:integer);cdecl;external'moto_srv.dll' ;

------解决方案--------------------
来学习学习
------解决方案--------------------
引用:
问题终于解决了!原来DEMO里面的DLL和之前他给我的DLL不一样!!!!!!!!
DEMO是后来我跟他要的,他修改了没告诉我,我傻了吧唧的搞了好几天,终于在上厕所时候来了灵感,把DEMO里的DLL复制到我的程序里,立刻能用了!!!!!!
我真SB。。。。。。。。

关于DELPHI调用DLL时的回调函数有关问题