双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

c++builder xe10.3 fmx IdTCPClient 接收问题。

titan_ysl titan_ysl 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我在线程里用IdTCPClient接收图像数据,为了能随时中止接收,用了ReadBytes函数,但是遇到下面的问题,请看代码。

char Buffer[500];
int nBytes;
DynamicArray<Byte> tmp;
tmp.set_length(500);
IdTCPClient1->IOHandler->CheckForDataOnSource(50);//等待50ms
nBytes=IdTCPClient1->IOHandler->InputBuffer->Size;
if(nBytes==0) return false;
IdTCPClient1->IOHandler->ReadBytes(tmp,nBytes); //读数据
BytesToRaw(tmp,Buffer,nBytes);
Buffer[nBytes]=0;


上面的代码,这行有问题,tmp.set_length(500); 帮助里说DynamicArray<Byte>必须要设置字节长度,但设置了后 IdTCPClient1->IOHandler->ReadBytes(tmp,nBytes); 就收不到数据,不进行设置倒是能工作,但是整段代码多运行几次后,在有的机器上会报错,Access violation at address,不知有知道怎么解决吗?
...全文

相关推荐

评论 5
收藏 已收藏
分享
返回顶部