来自Indy10.2.5的一个函数,使用了一个危险的做法,可能影响到通讯。看谁能看出来。
function TIdIOHandler.ReadLongWord(AConvert: Boolean): LongWord;
var
LBytes: TIdBytes;
begin
ReadBytes(LBytes, SizeOf(LBytes), False);
Result := BytesToLongWord(LBytes);
if AConvert then begin
Result := GStack.NetworkToHost(Result);
end;
end;
function TIdIOHandler.ReadLongWord(AConvert: Boolean): LongWord;
var
LBytes: TIdBytes;
begin
ReadBytes(LBytes, SizeOf(LBytes), False);
Result := BytesToLongWord(LBytes);
if AConvert then begin
Result := GStack.NetworkToHost(Result);
end;
end;
解决方案 »
- 高分请教DCOM之EXCEL卡死问题
- SetTimer 相关问题
- delphi2009中备注型unicode数据读取问题?
- quick report中有没有像DBGrid一样的控件啊?
- TMySQL组件能调用MySQL5.0的存储过程吗?
- 如何在DLL中使用TIdTelnet?
- 我怎么读出Access数据库中表的记录,并产生数据集?高分回报!
- 调用DLL中函数产生Invalid pointer Opreation 问题(不是返回string)
- 我就剩下七仟多分了,想把它派完,你想要吗?帮我解决个问题先!
- 高手!!快来呀!!!!!!在线等待!!!!!
- 超级难题,高手请进,chart中Tools工具删除的问题?
- VC代码翻译成DELPHI
回 : Array of Byte;
64位系统和32位会不一致
是的。起码到Delphi2010还不支持64位,但64位离我们不远了。编写代码需要严谨和细心,不要等到64位到来之时才突然发现很多代码无法正常了。
结贴!