21.01.2008, 09:58
' schrieb:I. Soweit so gut. Der VerbraucherSo kann man das nicht sagen. Es wird nur das nicht ausgeführt, was von den Daten das Melders abhängig ist, alles andere wird ausgeführt. In Deinem Fall ist das Einzige, was abhängig ist, die Aktualisierung des Graphen. Nicht abhängig ist alles andere, als in Deinem Beispiel der Eigenschaftsknoten und alles andere was sich innerhalb und außerhalb der While-Schleife befindet. Aber natürlich wird der Eigenschaftknoten nur einmal pro Scheifendurchlauf ausgeführt, also nicht häufiger als die Aktualisierung des Graphen. Du kannst aber davon ausgehen, daß der Eigenschaftsknoten bei jedem Schleifendurchlauf als erstes ausgeführt wird.
fordert diesen Melder nun an und mit "auf Meldung warten" verarbeitet er den Melderinhalt.
Klappt auch alles soweit. Nun ist es aber ja so, dass während der Melder wartet der restliche
Programmteil lahmgelegt ist.
Aber ich stimme Dir zu, daß das Diagramm sowohl ruckelt als auch daß Du das subjektive Gefühl haben mußt, der Eigenschaftknoten wird lahmgelegt. Das liegt an Deiner Programmierung, Du solltest außerhalb der Schleife ein zweite Schleife mit einer Ereignisstruktur haben und die Wertänderung von XAchse.Maximum als Ereignis behandeln. Damit erreichst Du a) daß das Diagramm sofort auf das Bedienereignis reagiert (und nicht erst beim Eintreffen neuer Diagrammdaten), b) daß der langsame Eigenschaftsknoten nicht mehr in der Hauptschleife liegt, und c) daß die X-Achse nicht sinnlos bei jedem neuen Datenpunkt neu justiert wird (Was das Ruckeln verursacht), sondern nur wenn es wegen Wertänderung wirklich sinnvoll ist