Einzelnen Beitrag anzeigen

Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#6

AW: Indy10: TIdIOHandler.ReadLn hängt Programm auf

  Alt 4. Aug 2010, 07:13
Wie wende ich diesen custom terminator an?
Ich denke mal ich hänge den beim writeln einfach an die Zeile an, aber was muss ich dann beim readln machen damit nur bis zu diesem Terminator gelesen wird??

Edit: Huch, den Post von Assertor hab ich garnich gesehn, schau ich mir gleich an

Edit2:
Habs jetzt mal umgebaut, aber jetzt kommt im Client scheinbar garnichtsmehr an. Muss ich auch den Server irgendwie umbauen?
Delphi-Quellcode:
procedure TClientReader.Execute;
var
LReadString : AnsiString;
LBuf : TIdBytes;
begin
while not Terminated do
  begin
  sleep(10);
  try
    if Assigned(FClient)and Assigned(FClient.IOHandler)and FClient.Connected then
      begin
      with FClient.IOHandler do
      try
      CheckForDataOnSource(10);
      if not InputBufferIsEmpty then // InputBufferIsEmpty ist immer true
        begin
        LBuf:=nil;
        InputBuffer.ExtractToBytes(LBuf);
        LReadString:= BytesToString(LBuf);
        if(Length(Trim(LReadString))>0)then
          begin
          if Assigned(FClient.ReaderEvent)then
            begin
            FClient.ReaderEvent(LReadString);
            end;
          end;
        end;
      except
        on e : EIdClosedSocket do SNLogger.Log('TClientReader.Execute:EIdClosedSocket:'+e.ClassType.ClassName+':'+e.message);
        on e : EIdReadTimeout do SNLogger.Log('TClientReader.Execute:EIdReadTimeout:'+e.ClassType.ClassName+':'+e.message);
        on e : EIdException do SNLogger.Log('TClientReader.Execute:EIdException:'+e.ClassType.ClassName+':'+e.message);
        on e : exception do SNLogger.Log('TClientReader.Execute:Exception:'+e.ClassType.ClassName+':'+e.message);
        end;
      end;
  except
    on e : exception do
      begin
      SNLogger.Log('TClientReader.Execute:'+e.ClassType.ClassName+':'+e.Message);
      exit;
      end;
    end;
  end;
end;
Martin Weber
Ich bin ein Rüsselmops

Geändert von Angel4585 ( 4. Aug 2010 um 09:11 Uhr)
  Mit Zitat antworten Zitat