关于Delphi中IdTCPClient1.WriteBuffer的参数说明

qidaiyou7690 2018-03-08 02:46:32
关于Delphi中IdTCPClient1.WriteBuffer的参数说明谁能帮我看一下??
最近使用IdTCPClient这个控件,不知道WriteBuffer的各个参数分别是什么,尤其是最后一个参数,Boolean类型的,有什么用??

还有一个问题就是这个函数用来发送动态数组发出去的都是乱码,发送静态数组就是好的,请问有什么解决方法??
...全文
990 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qidaiyou7690 2018-03-12
  • 打赏
  • 举报
回复
@早打大打打核战争 请问D7的帮助文档怎么使用???我都不知道该怎么查呢?以这个为例能给我说说吗??谢谢了
qidaiyou7690 2018-03-12
  • 打赏
  • 举报
回复
非常感谢1楼和7楼,7楼的讲解很详细,我明白了,谢谢大神们
  • 打赏
  • 举报
回复
我看了一下D7中indy的帮助:procedure WriteBuffer(const ABuffer; AByteCount: Longint; const AWriteNow: Boolean = False); ABuffer是无类型参数,指出待发数据的地址,因为静态数组是值类型,给ABuffer传入静态数组相当于传入数组首地址,是正确的,而动态数组是引用类型,给ABuffer传入动态数组相当于传入数组指针的地址,而不是数组数据的地址,所以需要用array[0]这种形式。 AByteCount是待发数据的字节数,这个没啥说的。 AWriteNow是指出是否立即发送,默认先写到indy的内部写缓冲区(如果之前写缓冲区中有数据,会合并发送或者按顺序发送)。
七羽Y 2018-03-09
  • 打赏
  • 举报
回复
如果是动态数组的话用这种方法: p:=@myarr[0]; form1.IdTCPClient1.WriteBuffer(p^,length(myarr));
七羽Y 2018-03-09
  • 打赏
  • 举报
回复
至于IdTCPClient1.WriteBuffer的参数,我也不太清楚
  • 打赏
  • 举报
回复
我现在手头没有D7,回家看一下,很长时间不用都忘了。
qidaiyou7690 2018-03-09
  • 打赏
  • 举报
回复
@早打大打打核战争
qidaiyou7690 2018-03-09
  • 打赏
  • 举报
回复

版本号:9.0.18
  • 打赏
  • 举报
回复
你是用的indy9吧,indy10中TIdTCPClient没有WriteBuffer方法,TIdIOHandler中有类似的Write方法。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧