博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

delph2009中数据类型的改变

Posted on 2009-08-22 01:10  走来走去  阅读(385)  评论(0编辑  收藏  举报
做一些网络数据的传送时候,把以前的老d7的代码拿来直接放到delphi2009下来编译,发现在clientsocket.SendBuf时候传送数据老是出问题.
观察了一下,发现在d2009中
Char 默认是WideChar 占用字节 2
AnsiChar 占用字节 1
WideChar 占用字节 2
把以前定义的结构里的char类型改为AnsiChar 后问题消失
另外
在TClientsocket里的TCustomWinSocket.ReceiveText有一个小Bug,将其修改为以下内容
function TCustomWinSocket.ReceiveText: ansistring; //<<==修改
begin
  SetLength(Result, ReceiveBuf(Pointer(nil)^, -1));
  SetLength(Result, ReceiveBuf(Pointer(Result)^, Length(Result)));
end;