bin mir nicht sicher ob ich dir helfen kann aber ich versuchs mal da sonst keiner geschrieben hat.
Habe mir in den letzten tagen mit den
indy komponenten einen kleinen lizenzserver gebastelt und bin über einiges gestolpert.
ich verwende einfach folgende codes wenn sich ein client bei mir sind 9999 möglich ausloggt. oder beim beenden des programms funktioniert bei mir einwandfrei ohne exceptions
Delphi-Quellcode:
procedure TFmMain.IdTCPServerDisconnect(AThread: TIdPeerThread);
begin
AdvSpinEdit1.Value:=AdvSpinEdit1.Value-1;
StPanLizSrv.Panels[1].Text:=FixtextPan2+inttostr(AdvSpinEdit1.Value);
end;
function TFmMain.StopServer: Boolean;
begin
try
IdTCPServer.Active := false;
IdTCPServer.Bindings.Clear;
Result := not IdTCPServer.Active;
fServerRunning := result;
if result then StPanLizSrv.Panels[0].Text:=FixtextPan1+'deaktiviert'
else StPanLizSrv.Panels[0].Text:=FixtextPan1+'aktiviert';
except
end;
end;
in dem advspinedit speicher ich die gerade aktiven clients und beim schliessen des formulars ruf ich
die stopserver function auf
in der delphi
ide kommen exceptions (logisch) wenn ein client einfach abbricht
aber als kompelierte exe gestartet funzt das toll.