关于delphi调用vc的dll的数组转换问题(200分)

  • 主题发起人 主题发起人 昨夜渡轮上
  • 开始时间 开始时间

昨夜渡轮上

Unregistered / Unconfirmed
GUEST, unregistred user!
delphi:
tagINVOICEDATA_EsYS = packed record

szFpTaxCtl: array[0..199] of char
// 税控码

szFpCode: array[0..15] of char

end;

vc:
struct tagINVOICEDATA_EsYS
{

char szFpTaxCtl[199]
// 税控码

char szFpCode[15]
// 发票代码
}


之间调用有问题:
乱码,如何解决?
 
tagINVOICEDATA_EsYS = packed record

szFpTaxCtl: pchar
// 税控码

szFpCode: pchar

end;
这样试试看
 
soitun:
您好。delphi 的类型是固定的。

vc该如何写呢?
 
在vc定义前面 加上 #pragma pack(1)
 
delphi:
tagINVOICEDATA_EsYS = packed record

szFpTaxCtl: array[0..199] of char
// 税控码

szFpCode: array[0..15] of char

end;

vc:
struct tagINVOICEDATA_EsYS
{

char szFpTaxCtl[200]
// 税控码

char szFpCode[16]
// 发票代码
}
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
606
import
I
后退
顶部