Einzelnen Beitrag anzeigen

DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.194 Beiträge
 
Delphi 2007 Architect
 
#12

Re: Thread von "aussen" abbrechen

  Alt 2. Mär 2010, 10:17
Hi,

hat sich erledigt. Ich habe den übeltäter gestern durch reinen zufall gefunden. Beim IdFTP.Disconnect passiert das. Da wurde einfach ein "quit" an den server geschickt. Egal in welchem "zustand" der server war. Der effekt war dann, das der Thread einfach komplett verlassen wurde. Obwohl ich das Disconnect mit try und except abfange, ist er da nichtmehr wiedergekommen. Einfach ein try an die stelle (siehe unten) rein und gut war.

Das problem war halt, das es so selten auftritt. Aber es gibt halt sachen die nicht sauber abgefangen werden. Ob es nochmehr gibt weiss ich nicht. Das es am IdFTP liegt hatte ich schon beim erstenmal in verdacht. Aber nicht richtig gesucht.

Der vollständigkeitshalber hier die stelle im IdFTP.pas.

Delphi-Quellcode:
procedure TIdFTP.DisconnectNotifyPeer;
begin
  if IOHandler.Connected then begin
    IOHandler.WriteLn('QUIT'); {do not localize} <-- hier tritt dann der fehler auf.
    IOHandler.CheckForDataOnSource(100);
    if not IOHandler.InputBufferIsEmpty then begin
      GetInternalResponse;
    end;
  end;
end;
Vielen dank an alle die geholfen haben.....
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat