请问我这段代码接受网络数据,有什么毛病,总出现地址访问错误

sparrownet 2003-11-22 11:10:31
我用IdUDPServer的onudpread事件从网络接受数据,
这个事件有一个参数AData,我想把AData的内容读到本地
的一个临时变量content(string类型)里,代码如下
procedure TForm1.IdUDPServerUDPRead(Sender: TObject; AData: TStream;
ABinding: TIdSocketHandle);
var
content : string;
buf : PCHAR;
begin
if AData.Size > 0 then
begin
buf := StrAlloc(AData.Size*SizeOf(Char));
AData.Seek(0, soFromBeginning);
AData.Read(buf, AData.Size);
content := buf;
//use content here.
myrichedit.lines.add(content);

StrDispose(buf);
end;
end;
可是程序读到AData.Read总出现异常,这是为什么,哪位
给看一下,我这段代码有什么毛病
...全文
32 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wengj 2003-11-22
  • 打赏
  • 举报
回复
AData.Read(buf^, AData.Size);
wengj 2003-11-22
  • 打赏
  • 举报
回复
也不需要重新定义一个变量呀
强制一下就可以了 myrichedit.lines.add(string(buf));

1,594

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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