Hallo,
Abgefragt wird in einem Timer:
Delphi-Quellcode:
procedure TMainForm.Timer_ConnectionTimer(Sender: TObject);
var
Anzahl_Verbindungen: Integer;
begin
//Timer disablen
Timer_Connection.Enabled := false;
//Variable beschreiben
Anzahl_Verbindungen := ServerSocket.Socket.ActiveConnections;
//Ist aktuelle Anzahl ungleich der alten Anzahl...?
If (Anzahl_Verbindungen <> alte_Anzahl_Verbindungen) then
begin
//Label beschreiben
Label_Anzahl_Verbindungen.Caption := IntToStr(Anzahl_Verbindungen);
//Listbox leeren
ListView_Client_Dateien.Clear;
//Label leeren
Label_Client_IP.Caption := '';
//ComboBox-Einträge aufbauen
ComboBox_schreiben(Default_Client_S, false);
//ausgewählten Client zurücksetzen
ausgewaehlter_Client := -1;
If Anzahl_Verbindungen = 0 then
begin
//enablen
EnDisableComponents(true);
//Timer disablen
Timer_Ueberwachung.Enabled := false;
//Label beschreiben
Label_Verbindung_Info.Caption := 'keine Verbindung vorhanden!';
end
else
begin
//Label beschreiben
Label_Verbindung_Info.Caption := 'Verbindung wurde aufgebaut!';
end;
//Variable beschreiben
alte_Anzahl_Verbindungen := Anzahl_Verbindungen;
end;
//Timer enablen
Timer_Connection.Enabled := true;
end;
Der Timer läuft immer.
in OnDisconnect konnte ich es damals nicht machen, da OnDisconnect - sofern ich es noch im Kopf habe - nur ausgelöst wird, wenn kein Client mehr verbunden ist - sind es aber mehrere Clients, von denen sich einer abmeldet - wird onDisconnect nicht ausgelöst
mfg
Helmi
>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<