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