Ok,
nächster Step ...
Ich habe den TRestExecutionThread wieder raus geworfen und auf einen "normalen" TRestClient-Aufruf umgebaut. Das
RestRequext.Execute();
läuft in einem Thread (der Nachrichten-Thread), wie beschrieben.
Den Thread kann man ja per
Terminate();
beenden.
Nun habe ich die Funktion "TerminateSet" von TThread überladen und dort einfach
RESTRequest.Cancel();
aufgerufen.
Oh Wunder, damit bricht er den Request ab und kommt sauber zurück.
Derzeit gebe ich dann wie von TiGü empfohlen nur den RESTClient frei,
aber ich will noch prüfen, ob ich jetzt irgendwelche Speicherlecks habe.
Damit sieht es auf jeden Fall schonmal gut aus.
Am Ende des Tages wusste ich nicht, dass es "TerminateSet();" und "RESTRequest.Cancel();" gibt.
Ich hoffe das hilft einem eventuellen Leser in Zukunft weiter.
Liebe Grüße
Incocnito