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

2017年(81)

2011年(1)

2009年(369)

2008年(337)

分类:

2008-10-28 10:00:15



怎么总报No   data   to   read错误呢?  
  var  
      fStream   :   TFileStream;  
  if   sCommand   =   'TT'   then  
  begin  
      try  
          fStream   :=   TFileStream.Create('tt.txt',fmOpenWrite   or   fmShareDenyNone);  
          AThread.Connection.OpenWriteBuffer;  
          AThread.Connection.WriteStream(fStream);  
          AThread.Connection.CloseWriteBuffer;  
      finally  
          fStream.Free;  
      end;  
  end  
   
  //客户端  
  procedure   TfrmClient.Button1Click(Sender:   TObject);  
  var  
      ftmpStream   :   TFileStream;  
      length:Integer;  
  begin  
      IdTCPClient.Connect;  
      IdTCPClient.WriteLn('TT');  
      ftmpStream   :=   TFileStream.Create('test.txt',fmCreate);  
      while   IdTCPClient.connected   do  
      begin  
          length   :=   IdTCPClient.ReadInteger;  
          IdTCPClient.ReadStream(fTmpStream,length);  
      end;  
      FreeAndNil(fTmpStream);  
  end;

Error:   fStream   :=   TFileStream.Create('tt.txt',fmOpenWrite   or   fmShareDenyNone);  
  Corret:   fStream   :=   TFileStream.Create('tt.txt',fmOpenRead   or   fmShareDenyWrite);  
   
  ..........Server  
   
  procedure   TFormServer.TCPServerExecute(AThread:   TIdPeerThread);  
  var  
      SComand:   String;  
      FStream:   TfileStream;  
  begin  
      try  
          SComand   :=   AThread.Connection.ReadLn;  
          if   SComand   =   'TT'   then  
          begin  
              FStream   :=   TFileStream.Create('c:\tt.txt',fmOpenRead   or   fmShareDenyNone);  
              AThread.Connection.OpenWriteBuffer;  
              AThread.Connection.WriteStream(FStream);  
              AThread.Connection.CloseWriteBuffer;  
              FStream.Free;  
          end;  
      finally  
          AThread.Connection.Disconnect;  
      end;  
  end;  
   
   
  ..............Client  
   
  procedure   TFormClient.ButtonSendClick(Sender:   TObject);  
  var  
      FStream:   TFileStream;  
  begin  
      TCPClient.Connect;  
      FStream   :=   TFileStream.Create('c:\test.txt',fmCreate);  
      while   TCPClient.Connected   do  
      begin  
          try  
              TCPClient.WriteLn('TT');  
              TCPClient.ReadStream(FStream,   -1,   True);  
              FStream.Seek(0,   soFromBeginning);  
          finally  
              TCPClient.Disconnect;  
              FStream.Free;  
          end;  
      end;  
  end;  
 

小问题,该自己认真检查嘛

老冯一点还在抢分   佩服~~~



[新闻]Facebook开放Scribe源代码 改善运行效率
博客园首页 社区 新闻频道 小组 博问 网摘 闪存
阅读(948) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~