delphi结构体转c++结构体_极客起源 - geekori.com - 问题详情 - c++结构体指针 转 Delphi, 请高手有空帮下 谢谢...

typedef struct _EXT_FRAME_HEAD

{

unsigned longnStartFlag;//扩展帧头起始标识

unsigned shortnVer;//版本

unsigned shortnLength;//扩展帧头长度

EXT_FRAME_TYPEszFrameInfo;

unsigned long   nTimestamp;//以毫秒为单位的时间戳

unsigned longnEndFlag;//扩展帧头起始标识

bool CheckExtFlag()

{

return (HH_EXT_HEAD_FLAG == nStartFlag && HH_EXT_TAIL_FLAG == nEndFlag ) ? true:false;

}

}EXT_FRAME_HEAD;

typedef struct _HV_FRAME_HEAD

{

unsigned shortzeroFlag;// 0

unsigned char   oneFlag;// 1

unsigned charstreamFlag;// 数据帧标志 FRAME_FLAG_VP,FRAME_FLAG_VI,FRAME_FLAG_A

unsigned longnByteNum;//数据帧大小

unsigned longnTimestamp;//时间戳

}HV_FRAME_HEAD;

上面2个结构体

下面这句 要转 delphi, 折腾了好久 怎么编译器都过不了

EXT_FRAME_HEAD*pExtFrameHead = (EXT_FRAME_HEAD *)((char*)pFrameHead + sizeof(HV_FRAME_HEAD));

这句意思应该是 定义一个EXT_FRAME_HEAD类型的指针变量, 然后赋值, 但在delphi中如何转呢?

type

EXT_FRAME_HEAD = record

nStartFlag: LongInt;//扩展帧头起始标识

nVer: Word;//版本

nLength: Word;//扩展帧头长度

szFrameInfo: EXT_FRAME_TYPE;

nTimestamp: LongInt;//以毫秒为单位的时间戳

nEndFlag: LongInt;//扩展帧头起始标识

//这里不会翻译, 但跟本次无关, 不过有知道怎么翻的前辈指点下,  不胜感激

//        public bool CheckExtFlag()

//        {

//        return (HH_EXT_HEAD_FLAG == nStartFlag && HH_EXT_TAIL_FLAG == nEndFlag ) ? true:false;

//        }

end;

pEXT_FRAME_HEAD = ^EXT_FRAME_HEAD;

type

HV_FRAME_HEAD = record

zeroFlag: Word;// 0

oneFlag: Byte;// 1

streamFlag: Byte;// 数据帧标志 FRAME_FLAG_VP,FRAME_FLAG_VI,FRAME_FLAG_A

nByteNum: LongInt;//数据帧大小

nTimestamp: LongInt;//时间戳

end;

pHV_FRAME_HEAD = ^HV_FRAME_HEAD;

var

pFrameHead : pHV_FRAME_HEAD;

pExtFrameHead: pEXT_FRAME_HEAD;

然后呢 .....

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值