AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung iOS FMX: Wie mit arbeitsintensiven Methoden umgehen, die im Mainthread laufen müssen?
Thema durchsuchen
Ansicht
Themen-Optionen

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

Ein Thema von Sherlock · begonnen am 21. Feb 2018 · letzter Beitrag vom 21. Feb 2018
Antwort Antwort
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.798 Beiträge
 
Delphi 12 Athens
 
#1

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

  Alt 21. Feb 2018, 14: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
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.016 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#2

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

  Alt 21. Feb 2018, 15:14
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
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (21. Feb 2018 um 15:23 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:14 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