Hallo
Delphi-Quellcode:
{Close selected Clients}
procedure Tfrm_Server.bu_CloseSelectedClick(Sender: TObject);
var i: integer;
begin
while not (lb_Clients.SelCount = 0) do
begin
for i := 0 to lb_Clients.Count -1 do
begin
if lb_Clients.Selected[i] then
begin
ServerSocket.Socket.Connections[i].Close;
break;
end;
end;
end;
end;
Was mache ich verkehrt?
Du machst es buchstäblich verkehrt (falls die Elemente beim Schließen aus dem Array entfernt werden...)
und weiters ist die äußere While-Schleife unnötig
Delphi-Quellcode:
{Close selected Clients}
procedure Tfrm_Server.bu_CloseSelectedClick(Sender: TObject);
var i: integer;
begin
for i := lb_Clients.Count -1 downto 0 do
if lb_Clients.Selected[i] then
ServerSocket.Socket.Connections[i].Close;
end;
In diesem Fall macht es nichts aus, wenn das Array verkürzt wird...
Weiß aber nicht, ob es wirklich daran liegt!