Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1223833
  • 博文数量: 788
  • 博客积分: 4000
  • 博客等级: 上校
  • 技术积分: 7005
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-19 15:52
文章存档

2017年(81)

2011年(1)

2009年(369)

2008年(337)

分类:

2009-05-26 17:33:23

收到信息代码如下:  
  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呢



--------------------------
新闻:微软应用商店:程序仅限一人使用 可安装5次
网站导航: 博客园首页  新闻  .NET频道  社区  博问  闪存  找找看
阅读(675) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~