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
System.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