Ich habe folgende Procedure geschreiben:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| procedure TForm1.ClientsErstellen(); var i: integer; begin
for i := 1 to maxBenutzer do begin Client [i].Free; end;
for i := 1 to ClientAnzahl do begin Client [i] := TClientSocket.Create(Form1); Client [i].Port := Port; Client [i].Address := Benutzer[i].IP;
Client [i].Name := 'Client' + IntToStr(i);
Client [i].OnError := ClientError ;
Client [i].Open;
end;
end; |
wenn ich einen Benutzer hinzufüge und wieder diese Prozedur aufrufe, ist das kein Problem.
ABER: wenn ich einen Benutzer weniger habe als vorher und dann wieder diese Prozedur aufrufe macht der mir einen Fehler (EAccessViolation).
Was muß ich anders machen, damit dieser Fehler nicht entsteht???