我用IndyTcpServer的时候,收到信息写到界面的时候报异常,请问怎么回事
2009-05-26 17:21
218 查看
收到信息代码如下:
procedure TForm1.ServerExecuteNew(AThread: TIdPeerThread);
var
ActClient, RecClient: PClient;
SMSPackage: TSMSPackage;
RecThread: TIdPeerThread;
// mobile1,msg1:string;
i,size: Integer;
ms:TMemoryStream;
fn:string;
mo,ms1:string;
begin
memo1.Lines.Add('--------------------------------------------------');
memo1.Lines.Add(' ');
memo1.Lines.Add('ServerExecuteNew');
if not AThread.Terminated and AThread.Connection.Connected then
begin
ms := TMemoryStream.Create;
AThread.Connection.ReadBuffer (SMSPackage, SizeOf (TSMSPackage));
ActClient := PClient(AThread.Data);
ActClient.LastAction := Now; // update the time of last action
ms.WriteBuffer(SMSPackage,sizeof(TSMSPackage));
fn := formatDateTime('hhmmsszzz',now);
fn := 'c:\package\'+fn;
ms.SaveToFile(fn);
ms.Free;
size := SMSPackage.pkMobileLen;
setlength(mo,size);
AThread.Connection.ReadBuffer (mo, size);
size := SMSPackage.pkMsgLen;
setLength(ms1,size);
AThread.Connection.ReadBuffer (ms1, size);
self.memo1.lines.add(mo);
self.memo1.lines.add(ms1);
end;
end;
在self.memo1.lines.add(mo)的时候报内存访问异常,请问怎么回事
是不是在一个ServerExecut不能多次readbuffer呢
继续阅读《我用IndyTcpServer的时候,收到信息写到界面的时候报异常,请问怎么回事》的全文内容...
procedure TForm1.ServerExecuteNew(AThread: TIdPeerThread);
var
ActClient, RecClient: PClient;
SMSPackage: TSMSPackage;
RecThread: TIdPeerThread;
// mobile1,msg1:string;
i,size: Integer;
ms:TMemoryStream;
fn:string;
mo,ms1:string;
begin
memo1.Lines.Add('--------------------------------------------------');
memo1.Lines.Add(' ');
memo1.Lines.Add('ServerExecuteNew');
if not AThread.Terminated and AThread.Connection.Connected then
begin
ms := TMemoryStream.Create;
AThread.Connection.ReadBuffer (SMSPackage, SizeOf (TSMSPackage));
ActClient := PClient(AThread.Data);
ActClient.LastAction := Now; // update the time of last action
ms.WriteBuffer(SMSPackage,sizeof(TSMSPackage));
fn := formatDateTime('hhmmsszzz',now);
fn := 'c:\package\'+fn;
ms.SaveToFile(fn);
ms.Free;
size := SMSPackage.pkMobileLen;
setlength(mo,size);
AThread.Connection.ReadBuffer (mo, size);
size := SMSPackage.pkMsgLen;
setLength(ms1,size);
AThread.Connection.ReadBuffer (ms1, size);
self.memo1.lines.add(mo);
self.memo1.lines.add(ms1);
end;
end;
在self.memo1.lines.add(mo)的时候报内存访问异常,请问怎么回事
是不是在一个ServerExecut不能多次readbuffer呢
继续阅读《我用IndyTcpServer的时候,收到信息写到界面的时候报异常,请问怎么回事》的全文内容...
相关文章推荐
- win7操作系统上,批处理文件,直接双击的时候,能运行起来。但是以管理员身份运行的时候,都闪退。请问,这是怎么回事?
- 苹果 iMessage 推广 :手机屏幕界面看到信息 怎么回事?
- Flash CS4 打开的时候出现红色界面一闪就不见了,软件也没打开,这是怎么回事啊?
- .net问题:每次打开.net2003就会出现一个安装程序界面,每次都如此,请问是怎么回事啊??
- spring读写excel文件的时候,return语句或者异常信息写到了文件里面
- Debug的时候源代码窗口左边的绿箭头不见了,只能从Debug窗口看到运行到了那个函数的哪一行,请问是怎么回事
- 金蝶EAS点击新增的时候编辑界面打不开报异常
- TCP的接收缓冲区满了,收到数据后会向发送方发送ACK吗?该怎么解决
- 执行 install.sh --clang-completer时候出现这种情况请问怎么处理?
- 请问能否把程序运行时出现的异常堆栈信息也保存进log4j指定的日志文件中
- 请问在vs2005中怎么防止mastpage页刷新(在操作内容页的时候)?
- 尝试通过使用 TCP/IP 套接字连接到群集中的 SQL Server 命名实例时收到“SQL Server does not exist or access denied”(SQL Server 不存在,或者访问被拒绝)错误消息
- 请问怎么更改AndroidStudio默认新建工程的时候的gradle版本?
- .net问题:尝试打开web项目,web服务器报告以下错误:http/1.1 500 Internal server error,请问该怎么解决这个问题??
- 浅析TCP连接过程中server异常情况处理
- 请问我要把linux启动是所有打出的信息转移到串口去该怎么做啊?
- Android捕获异常时候的log信息
- 当前表单的所有信息以对话框的形式表现出来,请问怎么解决?
- 请问51CTO管理员,我的这篇博文怎么回事?
- 如何从链路层收到的数据报中访问IP层和TCP层头信息?