So ich habe das ganze jetzt geändert ob das jetzt "Richtig" ist weiß ich nicht.
Im OnCreate des Service wird der
TCP Server vorbereitet
Im OnStart des Service wird der
TCP Server gestartet (Active := True)
Im OnStop des Service wird der
TCP Server beendet (Active := False)
In den Ereignissen OnPause und OnContinue wird der
TCP Server ebenfalls beendet bzw.
gestartet.
Wie gesagt ich habe keinen Schimmer ob das alles korrekt ist, aber es funktioniert.
Kann man zwar so machen und sollte auch keine Probleme ergeben, aber der
TCP Server wird auch dann schon vorbereitet, wenn das absolut nicht nötig ist ... und evtl. dadurch sogar zu Fehlern kommen könnte.
Eine Service-Instanz wird auch erzeugt, wenn der Dienst installiert bzw. deinstalliert wird.
Im OnStart die Instanz für den Server erzeugen, vorbereiten und Active auf True
Im OnPause Active auf False (optional)
Im OnContinue Active auf True (optional)
Im OnStop die Instanz für den Server freigeben (FreeAndNil)