Forum: Algorithmen, Datenstrukturen und Klassendesign
by bytecook,
20. Feb 2014
Hmm.. Queue scheint nicht aufgerufen zu werden... mit Synchronize funktionierts...
Vorgang: Der asynchrone Thread, der die Daten von externen Schnittstellen entgegennimmt, erzeugt pro Änderung / Durchlauf einen Workerthread.
Der Workerthread triggert eine Routine des Owners, der wiederum einen Event nach aussen legt. Mit Synchronize wird der Workerthread im Hauptthread ausgeführt, während...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by bytecook,
20. Feb 2014
Das ist klar - das kürzeste visuelle Update im Störfall findet nach 25 ms statt (schneller "sehen" wir ja nichts...), in der Regel checke ich die Maschinenstati wie Produktgeschwindigkeit ein mal pro Sekunde pro Gerät. Aber mal sehen, wie es sich ergibt.
Und da ich alle Elemente wie Checkboxen, Radiobuttons, div Buttons, Edits, etc von TControl abgeleitet nachgebaut habe, geht das Zeichnen...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by bytecook,
19. Feb 2014
Um es mit Terry Pratchett zu sagen: Potzblitz! Ja die Anregung mit Queue und Workerthread ist toll und sollte auch viel durch das Weglassen der CS erheblich performanter sein :)
Danke vielmals und Grüße,
Peter
Forum: Algorithmen, Datenstrukturen und Klassendesign
by bytecook,
19. Feb 2014
Hmmm, ich sollte doch öfters mal wieder die Doku durchlesen - danke vielmals!
Um das Problem eines asynchronen Mehrfachaufrufes zu entgehen, böte sich eine abgeleitete TObjectListe an. Vor dem Queue(Queueprozedur) Aufruf wird ein neuer Eintrag angelegt, CS berücksichtigen.
In der Queueprozedur die Liste via CS locken, den Count dieser Liste überprüfen, ist dieser > 0, dann den letzten...