此代码是由Indy9中的Borland Cpp Builder6编写的。
void __fastcall TfrmMain::ServerConnect(TIdPeerThread *AThread)
{
BKUK_PACKET Pkt;
----------(中略)---------------------------------------
AThread->Connection->ReadBuffer((BYTE *)&Pkt,sizeof(BKUK_PACKET));
----------(中略)---------------------------------------
}
在Indy10中找不到名为ReadBuffer的函数。有等效功能吗?
BKUK_PACKET是大约1200个字节的结构。
typedef struct _BKUK_PACKET_
{
BYTE head[4];
WORD PayLoad;
WORD Length;
BYTE Data[1200];
WORD Ver;
BYTE tail[2];
}BKUK_PACKET;
[我在查看Indy10的使用说明书时发现了ReadBytes。
Context->Connection->IOHandler->ReadBytes((BYTE *)&Pkt,sizeof(BKUK_PACKET))
当我尝试如上所述编程时,出现以下错误:
[[bcc32c错误] Main.cpp(530):对类型'Idglobal :: TIdBytes'(aka'DynamicArray')的非常量左值引用无法绑定到类型'BYTE *'(也称为'unsigned char *' )IdIOHandler.hpp(235):在此处将参数传递给参数“ VBuffer”]
请告诉我如何解决。谢谢
此代码由Indy9中的Borland Cpp Builder6编写。无效__fastcall TfrmMain :: ServerConnect(TIdPeerThread * AThread){BKUK_PACKET Pkt; ----------(中略)------------------------------------- -...
ReadBytes()
的签名是