我调用vc的dll,传送结构体参数。vc接受后从内存中拷贝出我传送的值。转换之后是乱码

解决方案 »

  1.   

    //向终端发送门禁报警信息
        function alarmSentDoor(var pDoorPara :Alley_ALARM_PARA):boolean;stdcall;external 'warnerdll.dll';
     结构体定义
    Door_ALARM_PARA = record
            cAlarmTime : array[0..MAX_ALARM_TIME_LEN] of char; //报警时间
        cDoorID    : array[0..MAX_ALLEY_ID_LEN] of char;   //报警门号
        cCause     : array[0..MAX_ALARM_CAUSE_LEN] of char; //报警原因
         end;
      

  2.   

    看不出你使用的是显示调用还是隐示调用,你那个dll文件在编译时是否有错,问题可能出在那个dll文件中。
      

  3.   

    没有错误,应该是参数传递问题。跟delphi与vc对内存的操作什么的可能有关,我是这么认为的
    我传递两个integer型相加,结构都是正确的