delphi2009的bug.TServerSocket和TClientSocket中SendText和ReceiveText方法接收乱码

delphi2009中的TServerSocket和TClientSocket控件使用的时候不知道为什么发送了数据接收的时候就变乱码了,又特地用delphi7编译了一边,就又好了.看了下控件源代码,原来是改了一部分,没改完.
delphi2009中的TServerSocket和TClientSocket控件,的SendText方法中参数被转换成了Ansistring类型,但是ReceiveText方法并未做修改,还是String类型.
打开scktcomp.pas 把
function TCustomWinSocket.ReceiveText:string;修改成如下..
function TCustomWinSocket.ReceiveText: ansistring; <<==修改
begin
SetLength(Result, ReceiveBuf(Pointer(nil)^, -1));
SetLength(Result, ReceiveBuf(Pointer(Result)^, Length(Result)));
end;
然后把单元文件到项目中编译一下.就OK了, 乱码问题解决.

 

转自:http://hi.baidu.com/osqlnvrbcnaipwr/item/fd084fdc3ae9ace355347f3b

转载于:https://www.cnblogs.com/hu-ya/articles/2994040.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值