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;
然后呢 .....