读书人

几个小弟我没有弄明白的有关问题

发布时间: 2012-03-16 16:34:56 作者: rapoo

几个我没有弄明白的问题
NilArray: array[0..0] of byte;

DM.SendData(USER_INFOALL, 0, DM.NilArray);

ZeroMemory(@SendBuffer[0], 4096); //清空SendBuffer

var
CharacterWord: WORD;
DataLength: WORD;
DataBuffer: array of BYTE;

SendBuffer: array[0..4095] of BYTE;
SendDataLength: WORD;
UserID: string;
MineID: string; //增加矿号 // Added by zhb 2011-12-12 11:40:54
nRev: integer;
temp: Word;
DataLength := DataLength + 22; //用户20,特征字2
SendDataLength := DataLength or $F000; //后12位4095为数据长,高4位用于校验,暂时F
move(SendDataLength, SendBuffer[0], 2);
move(CharacterWord, SendBuffer[2], 2);
move(UserID[1], SendBuffer[4], Length(UserID));

1、DM.SendData(USER_INFOALL, 0, DM.NilArray) 这个传过来的NilArray仅仅是个地址?
2、SendDataLength := DataLength or $F000 整型值和$F000得到的结果值是什么?
3、move(UserID[1], SendBuffer[4], Length(UserID));
userid是字符串,得到的SendBuffer是什么结果?





[解决办法]
1、DM.SendData(USER_INFOALL, 0, DM.NilArray) 这个传过来的NilArray仅仅是个地址?
内容把
2、SendDataLength := DataLength or $F000 整型值和$F000 异或
3、move(UserID[1], SendBuffer[4], Length(UserID));
userid是字符串,得到的SendBuffer是什么结果?

SendBuffer【4】后面的内容

读书人网 >.NET

热点推荐