来自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;
解决方案 »
- 怎么防止重复导入数据
- delphi6 如何访问EXCEL,如何控制EXCEL里的每行每列的数据?
- 如何禁止图片闪动???????
- XPMENU的安装问题
- delphi3中引用c#写的动态连接库的问题
- 如何屏蔽被删除的记录呀?
- 求高难度算法!!
- 紧急情况,在线等待:在窗体A中添加了一个线程单元,并在窗体A uses 上声明了线程单元,但在调试时出现错误如下:Circular unit reference
- 怎样把JAVA转成delphi的代码(CRC16-CCITT的校验值,遵循大端排序方式)
- 我初涉线程问题,有关tthread的派生问题,请指教!
- 超级难题,高手请进,chart中Tools工具删除的问题?
- VC代码翻译成DELPHI
回 : Array of Byte;
64位系统和32位会不一致
是的。起码到Delphi2010还不支持64位,但64位离我们不远了。编写代码需要严谨和细心,不要等到64位到来之时才突然发现很多代码无法正常了。
结贴!