c++builder xe10.3 fmx IdTCPClient 接收问题。
我在线程里用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,不知有知道怎么解决吗?
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,不知有知道怎么解决吗?
...全文
相关推荐
delphi 中 indy英文参考
indy的英文参考,说的比较详细,但是都是英文,不难看懂,word文档
CNVCL for XE6 开发利器:高效构建Delphi/C++Builder应用
CNVCL(Custom Native VCL)是专为Embarcadero RAD Studio平台打造的高性能可视化组件库,深度兼容Delphi与C++Builder,聚焦于解决传统VCL在现代UI开发中的瓶颈。相较于原生VCL控件,CNVCL通过底层GDI+双缓冲绘制消息循环优化和轻量化对象模型,显著提升渲染效率并消除界面闪烁问题。其核心优势体现在三方面:1.高DPI自适应:内置DPI感知机制,自动缩放字体与图形资源,确保4K屏下显示清晰;2.
#include BLEDevice.h.pages
#include BLEDevice.h.pages
科技中介服务机构如何利用智能体技术提升技术交易服务的专业性与便捷性?.docx
科技中介服务机构如何利用智能体技术提升技术交易服务的专业性与便捷性?
AI 完成消除游戏自动化经验总结
打包的测试代码工程,基本不侵入游戏


网络及通讯开发

