Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   iOS FMX: Wie mit arbeitsintensiven Methoden umgehen, die im Mainthread laufen müssen? (https://www.delphipraxis.net/195354-fmx-wie-mit-arbeitsintensiven-methoden-umgehen-die-im-mainthread-laufen-muessen.html)

Sherlock 21. Feb 2018 13:48

FMX: Wie mit arbeitsintensiven Methoden umgehen, die im Mainthread laufen müssen?
 
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

Stevie 21. Feb 2018 14:14

AW: FMX: Wie mit arbeitsintensiven Methoden umgehen, die im Mainthread laufen müssen?
 
Ich wäre ja dem ursprünglichen Problem auf den Grund gegangen, anstatt darum herum zu basteln - ich hab dir im anderen Thread ja sogar Hilfe angeboten

...mehr noch bei deinem Forum Nick :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz