Einzelnen Beitrag anzeigen

moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#29

Re: Liste (ähnlich dyn Array) mit fortlaufendem Index?

  Alt 29. Mär 2010, 11:11
Moin !

So ich habe jetzt mal alles in ein Projekt gegossen. Erstellt ist es mit D2010, aber ich denke es sollte auch mit anderen Delphi Versionen nutzebar sein.

Man kann mit dem Button "Add Input" an die verkettete Liste Daten anhängen. Das geht recht flott und der Output Thread arbeitet die Liste dann wieder ab.
Parallel gibt es einen Timer der jede Sekunde DatenKette.GetLive.Value1 ausgibt.

Ok, nun kommt aber der Spannende Teil ... Der TOutputThread ackert nun durch die Liste und jetzt müssen die Daten irgendwie mal in das Chart. Ich habe zu dem Zweck schon mal ein TChart Standard (ist bei jedem Delphi dabei) auf das Formular gepackt.
Ich habe dann testweise mal dem OutputThread das Chart übergeben:
constructor Create(DataClass: TDataClass); Chart : TChart); Und dann im execute folgendes:
Delphi-Quellcode:
            fChart[0].Add(PData2.Value1);
            fChart[1].Add(PData2.Value2);
            fChart[2].Add(PData2.Value3);
            fChart[3].Add(PData2.Value4);
Das funktioniert, aber ich würde mal vermuten das es der falsche Weg ist, denn das wäre ja ein direkter Zugriff vom Thread auf das Chart

Zitat:
Dann also die ValueLists für´s TChart aufbereiten und in einem Synchronize übergeben + zeichnen
Tja da haben wir schon wieder das Problem ... Wenn ich Synchronize nutze, dann wird die Methide im Main Thread ausgeführt. Und genau das möchte ich vermeiden. Denn was passiert wenn der Main Thread (wegen anderer Berechnungen) hängt?
Angehängte Dateien
Dateityp: zip pointerkette_459.zip (6,0 KB, 2x aufgerufen)
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat