Vielen Dank schon mal an alle Helfer, aber leider:
Ich komm dem Fehler nicht auf die Spur. Ich hab alles in try...except gekapselt, aber keiner dieser Blöcke springt an. Ich hatte es jetzt auch zweimal so, das ein Dialogfenster mit dem Fehler eingeblendet wurde (nicht von mir und ich war nicht im Debugmodus). Das verrückte war, solange dieses Dialogfenster offen war lief der Dienst weiter. Er meldete Timergesteuert jede Minute, das er noch lebt ins Log und schickt auch ein Statusupdate an den Client, d.h. die Socket-Verbindung blieb besthen.
Erst wenn der Dialog mit 'OK' bestätigt wird, semmelt der Dienst ab.
Vllt. zum Hintergrund. Eine der Aufgaben des Dienstes ist es (auf Aufforderung des Clients) eine Klasse zu erzeugen, in der dynamisch ein Timer und ein TelnetClient erzeugt werden. Dann erfolgt eine Kommunikation zw. Telnet-Client und Telnet-Server in einem ganz anderen Porgramm (ServersAlive)). Dann wird die Telnet-Verbindung getrennt und diese Klasse mit FreeAndNil() freigegeben.
Für die Klasse gibt's eine globale Variable und immer wenn eine Instanz davon gebraucht wird schau ich immer erst ob die variable nil ist und wenn ja, dann erzeug ich die Klasse. Das sollte doch so gehen, oder hab ich den Zweck von FreeAndNil() falsch verstanden?
Meine Befürchtung ist auf jeden Fall, dass das irgendwo aus den Tiefen der Indys kommt aber wie gesagt: Ich find's nit
Ich lad das Projekt (sind eh nur 3 Units) mal hoch, vllt. hat ja wer von euch am Wochenende mal Langeweile und findet, woran es liegen könnte. Wegen einem Trauerfall in der Familie, komm ich am WE selber nicht dazu und mach jetzt auch schon Feierabend.
Danke,
Jumpy
P.S.: Hab ich vergessen: Wenn ich alles auskommentiere, was mit der benachrichtigung von ServersAlive via Telnet zu tun hat, läuft der Dienst stabil, erfüllt auch seine Aufgabe (andere Dienste an und auszustellen) stabil. Deswegen hab ich das oben explizit erklärt.