Einzelnen Beitrag anzeigen

Poolspieler

Registriert seit: 9. Aug 2004
165 Beiträge
 
Delphi 10.3 Rio
 
#4

Re: Anwendung blockiert wenn das Fenster gezogen wird

  Alt 11. Sep 2005, 13:22
Das trifft mich hart, denn mein Projekt steht im Prinzip schon und es bedeutet wahrscheinlich einen hohen Aufwand, es in Threads umzuschreiben

Das USB-Gerät ist ein von mir geschriebener µC der über einen FTDI-Chip mit dem PC kommuniziert.

Die komplette Komunikation erledigt eine einzige Klasse, die erstmal von dem Formular gekapselt ist - und das ist ja auch gut so ...
Lediglich im Konstruktor dieser Klasse wird z.B. ein Zeiger auf einen Chart mitgegeben.
Wird die Startmethode (meineKlasse.start() ) der Klasse aufgerufen, so werden Daten vom USB-Gerät empfangen und direkt auf dem Chart ausgegeben (inklusive eines "Update-Aufrufs"...)
Problem beim ziehen des Fensters: Das USB-Gerät schickt weiter Daten, die in den Puffer des FTDI-Treibers geschrieben werden. Umso länger die Anwendung blockiert ist, umso mehr Daten werden gepuffert, was natürlich zum Problem werden kann (nicht muss...)

Wenn nun diese Startmethode einen eigenen Thread starten würde, wie müßte ich dann die Echtzeitanzeige realisieren - ist das Stichwort TThread.synchronisize? Oder bin ich dann genauso weit? Sorry, aber mit Threads habe ich noch nicht viel programmiert...

Ich habe auch schon ein wenig gegoogelt. Es ist wohl erstmal gar nicht so einfach, von einem zweiten Thread direkt z.B. den Text eines Labels zu ändern.
--> Dort kamen dann Vorschläge wie: Starte vom Thread einen zweiten Thread, der dann die Daten im Formular ausgiebt --> das klingt irgendwie kompliziert, wenn man mich fragt...

Hat jemand bessere Ideen?

Gruß

Poolspieler
Andreas
  Mit Zitat antworten Zitat