Einzelnen Beitrag anzeigen

Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.763 Beiträge
 
Delphi 11 Alexandria
 
#1

FMX: Wie mit arbeitsintensiven Methoden umgehen, die im Mainthread laufen müssen?

  Alt 21. Feb 2018, 13:48
Nach einiger Zeit muß ich mich nun wieder dieser Problematik widmen (http://www.delphipraxis.net/194819-f...cientrtti.html). Die Lösung muß ja sein: Alles was mit SOAP zu tun hat, muß im MainThread ausgeführt werden. Eigentlich sollte das durch ein entsprechendes Delphi-Referenz durchsuchenSystem.Classes.TThread.Synchronize erledigt sein, aber irgendwie mag es nicht (will meinen: es führt zu keiner Änderung im Verhalten). Also bin ich am Überlegen, wie ich dafür sorgen kann, daß meine SOAP-Calls tatsächlich im Main-Thread bleiben.
Die Idee ist eine Klasse zu bauen, die zwischen die SOAP-Calls und die restliche Applikation gesetzt wird, und die dann alle Aufrufe entgegen nimmt, abarbeitet und das jeweilige Ergebnis an den Aufrufer zurück gibt...vermutlich asynchron, ziemlich sicher FIFO. Ich müßte also eine Nachrichtenschlange bauen und abarbeiten, deren Elemente den beabsichtigten SOAP-Call und die Absenderinformationen beinhalten. Ach ja, und weil ich verteilte/mehrere Server habe, muss auch die Information zum Ziel mitgegeben werden.

Hört sich das sinnvoll an, oder geht es einfacher?

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat