AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Grundsatzfrage zu Thread und Sequenziell abarbeiten
Thema durchsuchen
Ansicht
Themen-Optionen

Grundsatzfrage zu Thread und Sequenziell abarbeiten

Ein Thema von Kostas · begonnen am 27. Dez 2016 · letzter Beitrag vom 27. Dez 2016
 
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.112 Beiträge
 
Delphi 12 Athens
 
#1

Grundsatzfrage zu Thread und Sequenziell abarbeiten

  Alt 27. Dez 2016, 13:05
Hallo Zusammen,

vorab erwähnt, ich habe kaum Erfahrung mit Threads da ich sie bis jetzt nicht gebraucht habe.

Die Kernfrage: wie können Threads eingesetzt werden wenn der Ablauf zwingend Sequenziell sein muss?

In einer Anwendung wir ein neuer Auftrag angelegt. Direkt danach wird die Auswahl der Kundschaft geöffnet um einen Kunden in den Auftrag zu übernommen. Jetzt kann ich die Artikelauswahl öffnen um einen Artikel in den Auftrag einzulesen. Dabei werden Kundenspezifische Preise ermittelt und in den Auftrag aufgenommen.

Die Sequenz ist also zwingend erforderlich:
1-Neuer Auftrag
2-Kunde auswählen
3-Artikel auswählen
4-Kudenpreis ermittelt(Kunde+Artikel)

In einer Windows Anwendung im LAN ist das auch überhaupt kein Problem. Die selbe Anwendung in einer Adroid App ist sehr wohl ein Problem. Bei Punkt 1 neuer Auftrag anlege geht noch. Bei Punkt 2 kann die Abfrage der Kunden nach den Suchkriterien schon etwas länger dauern. Wenn den Download der Kundenliste länger dauert im Main Thread würde Android die App beenden oder gar das Device neue Starten. Also packe ich den Download in ein Anonymus Thread.

Hier beginnt mein Verständnisproblem.

Eigentlich muss die Anwendung warten bis die Liste der Kunden vollständig geladen ist.
Direkt nach dem Download wir die Liste ausgewertet, bestimmte Kunden werden Fett markiert andere Rot wenn Sie schlecht Zahlen u.s.w. All das passiert nachdem die Kunden abgerufen wurden. Erst danach darf der Anwender den Kunden auswählen zur Übernahme in den Auftrag. Man könnte jetzt die Nachbearbeitung in den gleichen Download Thread packen dann wird wenigstens dieser Teil sequenziell abgearbeitet. Praktisch ist das jedoch nicht. Für Auswertungen wird der gleiche Download der Kunden benötigt jedoch nicht die Nacharbeit. Das könnte man jetzt wieder aufteilen u.s.w.

Wie kann ich z.B.: verhindern dass der Anwender versucht den Artikel auszuwählen währen die Kundenliste noch nicht da ist. Der Download läuft ja in einem anderen Thread und der Main Thread ist wieder frei. Somit kann der Anwender rumhantieren.


Gruß Kostas
  Mit Zitat antworten Zitat
 


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 03:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz