用delphi写了一个dll,在C#中调用时需要传一个结构体,但是总是不对

delphi中的结构体:TChar7=array[0..6]ofchar;TChar20=array[0..19]ofchar;TFrmPara=recordShadow... delphi中的结构体:
TChar7 = array[0..6] of char;
TChar20 = array[0..19] of char;
TFrmPara = record
ShadowColor :TChar7;
ShadowExpand :Byte;
ShadowBorderWidth :Byte;
ShadowAlpha :Byte;
FrmBorderColor :TChar7;
FrmBorderWidth :Byte;
TitleString :TChar20;
TitleStrColor :TChar7;
CanStretch :Boolean;
IsRes :Boolean;

BtnWidth :Byte;
BtnHeight :Byte;
BtnSpace :Byte;
ToRightSpace :Byte;
ToTopSpace :Byte;
BtnColor :TChar7;
BtnBgColor :TChar7;
BtnBgCloseColor :TChar7;

TitleBgColor :TChar7;
TitleHeight :Byte;
end;
C#中的结构体:

C#代码:

运行结果:
展开
 我来答
ayi033
2014-04-21 · TA获得超过144个赞
知道小有建树答主
回答量:317
采纳率:100%
帮助的人:105万
展开全部
不知道你用的Delphi什么版本,D7 或 D2009之前的Char 是 Ansichar,一个字符=一个字节,2010以后的版本用的是Unicode. 一个字符=2个字节,TitleString只有20个元素,你C#有21
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式