AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Datenübergabe aus Thread in MainForm

Ein Thema von backdraft · begonnen am 10. Okt 2022 · letzter Beitrag vom 11. Okt 2022
 
backdraft

Registriert seit: 19. Apr 2005
Ort: Hückeswagen
339 Beiträge
 
Delphi 11 Alexandria
 
#1

Datenübergabe aus Thread in MainForm

  Alt 10. Okt 2022, 20:32
Hallo zusammen,
ich brauche mal einen Tipp für mein Problem.

Ich nutze die OmniThreadLib um Daten in einem Task aus einer Datenbank zu laden und sende diese dann per Message an die MainForm.
Diese zerlegt die Daten und zeigt sie auf dem Bildschirm an.
Der Task sammelt die Daten 100ms und sendet diese dann als Array of Variant.

Ich sende an den Task eine Nachricht "Lade mir bitte diese Daten" und dann führt der Task diese Aktion aus.
Ist er fertig wartet er auf den nächsten Befehl.

Auf der Maske ist noch ein "Stop" Knopf, der dem Task meldet, dass die aktuelle Aktion abgebrochen werden soll.

So weit so gut, klappt alles wunderbar.

Aber, wenn ich die Datenbank lokal betreibe liefert der Task die Daten scheinbar so schnell, dass ich überhaupt keine Chance habe den Stop Knopf zu drücken, da der Mainthread 100% Auslastung hat mit dem verarbeiten der Botschaften.

Es hilft, wenn ich eine Wartezeit einbaue, dass nach jedem Senden ein bisschen gewartet wird, aber das ist keine befriedigende Lösung.

Eine Nachricht an den Task senden, hilft auch nicht, da er den Befehl in einer Message bearbeitet und erst wieder die nächste Anfrage bearbeitet, wenn er mit der aktuellen Aufgabe fertig ist. Um das nutzen zu können, müsste ich das Konzept hier umbauen, was ich eigentlich nicht vor habe.

Schön wäre es, wenn ich irgendwie erkennen könnte, dass ich genau in diese Situation laufe.
Oder ist es sinnvoll, dass der Task so lange wartet, bis der MainThread die aktuelle Aktion verarbeitet hat?
Gibt es da irgendwas integriertes in der Lib? Bis jetzt habe ich leider nichts gefunden.

LG
Oliver
Oliver
  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 14:45 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-2025 by Thomas Breitkreuz