Einzelnen Beitrag anzeigen

Benutzerbild von Cyberaxx
Cyberaxx

Registriert seit: 15. Jul 2005
311 Beiträge
 
Delphi XE5 Professional
 
#1

Abfragen ob eine Variable oder die Referenz noch existiert

  Alt 25. Sep 2007, 08:04
Hallo,

hoffe der Titel ist für das Problem was ich habe richtig gewählt.
Das Try / Except ist für mich jetzt nur eine Lösung, damit das Programm nicht ständig hängen bleibt.

Delphi-Quellcode:
    try

      while (Pos(EOCommand, AClient.Buffer) > 0) do begin
        Index := Pos(EOCommand, AClient.Buffer);
        DCFrame := Copy(AClient.Buffer, 1, Index + 4);
        AClient.Buffer := Copy(AClient.Buffer, Index + 5, Length(AClient.Buffer));

        Parse_DCFrame(AClient, DCFrame);
        end;

    except
      Exit;
    end;
AClient enthällt einen Socket und einen String;
Das klappt alles ohne Probleme solange nicht versucht wird das sich ein Benutzer doppelt einloggt.
Meldet sich ein Benutzer ein zweites mal an wird in der Procedure OnClientDisconnet AClient freigegeben,
danach springt er wieder in die Schleife und da Existiert "AClient" eigentlich nicht mehr, der Debugger sagt da so schön "nicht verfügbarer Wert" zu. Kann man irgendwie darauf Prüfen oder ex mit einer besseren Lösung als einem Try / Except abzufangen?
Würde ungerne alles umbauen damit ich ihn nil setzen kann, das wäre so ein wenig zu viel was ich ändern müsste.

Hilfe

Gruß

Dsn
Daniel
Das Aufwachen aus einem boesen Traum muss einen nicht erleichtern. Es kann einen auch erst richtig gewahr werden lassen, was man Furchtbares getraeumt hat, vielleicht sogar welcher furchtbaren Wahrheit man im Traum begegnet ist!
  Mit Zitat antworten Zitat