VC++代码如下:
typedef struct{
BYTE    m_bRemoteChannel;
BYTE    m_bSendMode;
BYTE    m_bRight;
char    *m_sIPAddress;
char    *m_sUserName;
char    *m_sUserPassword;
BOOL    m_bUserCheck;
DISPLAY_PARA displaypara;
}CLIENT_CARDINFO, *PCLIENT_CARDINFO;CPLAYER_API LONG __stdcall  MP4_ClientStart_Card(PCLIENT_CARDINFO pClientinfo,long nChannelNum,void(CALLBACK *ReadDataCallBack)(DWORD nPort,UCHAR *pPacketBuffer,DWORD nPacketSize));void CClientdemoDlg::OnButton1() 
{
CLIENT_CARDINFO aa5;
.
.
MP4_ClientStart_Card(&aa5,0,NULL);
.
.
}VC调用成功的,我写成delphi后调用不成功,大家帮我看看哪里有问题
  TCLIENT_CARDINFO=record
    m_bRemoteChannel:byte;
    m_bSendMode:TConnectMode;
    m_bRight:byte;
    m_sIPAddress:pchar;
    m_sUserName:pchar;
    m_sUserPassword:pchar;
    m_bUserCheck:boolean;
    displaypara:tDISPLAY_PARA;
  end;
  PCLIENT_CARDINFO=^TCLIENT_CARDINFO;function MP4_ClientStart_Card(pclientinfo:pclient_cardinfo;nChannelNum:longint;ReadDataCallBack:TReadDataCallBack):longint;stdcall;//这里有问题
begin
  Result:=-1;
  if Init_HikNet<>1 then
    exit;
  if not Assigned(VMP4_ClientStart_Card) then
    @VMP4_ClientStart_Card:=GetProcAddress(HIKDecodeDLL,'MP4_ClientStart_Card');
  if @VMP4_ClientStart_Card<>nil then
    Result:=VMP4_ClientStart_Card(pClientinfo,nChannelNum,ReadDataCallBack);
end;调用不成功的
procedure TForm1.Button1Click(Sender: TObject);
var
aa5:tclient_cardinfo;
begin
.
.
MP4_ClientStart_Card(@aa5,1,null);
.
.
end;
出错信息为
[Error] Unit1.pas(76): Incompatible types: 'Calling conventions differ'
大家帮我看看是什么原因啊,求求高手指点一二了