各位大哥好,小弟想用IdTCPSever来接收数据,我知道接受是在OnExecute事件下完成的,而且我看了一下网上的资料,接受程序一般就是这样:
var
efg:string;
begin
athread.Connection.ReadBuffer(efg,sizeof(efg));
end;
可是小弟有个疑问,我想要接收的数据的确是string类型的,但事先我并不知道数据的长度是多少,这样的话也可以像上面的程序那样用sizeof(efg)来作为缓冲的长度吗?要是不行,那么在事先不知道接受的数据的长度的情况下该怎么用readBuffer来接收数据,谢谢!
var
efg:string;
begin
athread.Connection.ReadBuffer(efg,sizeof(efg));
end;
可是小弟有个疑问,我想要接收的数据的确是string类型的,但事先我并不知道数据的长度是多少,这样的话也可以像上面的程序那样用sizeof(efg)来作为缓冲的长度吗?要是不行,那么在事先不知道接受的数据的长度的情况下该怎么用readBuffer来接收数据,谢谢!
解决方案 »
- 【泰坦散分贴】星期三
- Delphi中,窗体的缺省按钮和取消按钮如果用消息发送,如何发送?
- zzf2001355 徽酥清风在吗?谢谢你提供的D5,已经可以安装了..
- 局域网内2台计算机或同台计算机不同进程间用什么方法传输数据最快,请高手指教!!
- 类型不匹配?
- 請問如何解碼
- 请教,怎样提取AVI,FLASH的首帧存为BMP
- 用Application Wizard写的程序与平常的不同?
- 数据是否重复,如何处理比较好!
- 如何在发布数据库时一起发布BDE? 今天没分了,不过好人有好报,我可以为诸位提供电脑内幕价,让各位清楚整机与配件的商家能赚多少。请留地址与询问的东西。
- 如何在局域网中获得正在工作的机器的IP或者机器的名字
- 怎样提高TClientDataSet的速度
2:如果一定要用writebuff和readbuff的办法,将字符串定义长度,比如efg:string[100]