我用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总出现异常,这是为什么,哪位
给看一下,我这段代码有什么毛病
这个事件有一个参数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总出现异常,这是为什么,哪位
给看一下,我这段代码有什么毛病
强制一下就可以了 myrichedit.lines.add(string(buf));