Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
da ich glaube, dass es sich um ein allg. Problem handelt, stelle ich die Frage in dieser Rubrik.
Ich erstelle von einer LVOOP-Instanz eine Referenz (einmalig) und führe diese in mehrere parallele Schleifen.
In den Schleifen selbst schaut es folgendermaßen aus:
Ich lese dort Werte aus und/oder schreibe Werte hinein.
Wenn ich einen Wert hineinschreibe, dann ist dieser beim nächsten Schleifendurchlauf nicht mehr vorhanden. In den parallelen Schleifen auch nicht.
Über die Referenz habe ich doch eine direkte Adressierung im Speicher (wie eine Art Pointer). Wieso ist der Wert im nächsten Schleifendurchlauf weg bzw. wie muss ich das ändern, damit es funktioniert?
Und woher willst du bei paralleler Ausführung wissen wer zuerst schreibt? Lass es mit den Referenzen. Dafür ist das Reference PAttern echt besser geeignet.
06.12.2010, 19:56 (Dieser Beitrag wurde zuletzt bearbeitet: 06.12.2010 20:00 von Matze.)
' schrieb:Wusste nicht, wie ich sonst eine referenz darauf bekomme).
Das war ja auch eine Referenz auf die Anzeige der Klasse(ndaten), nicht auf die Klasse. Die Daten, die du lesen bzw. beschreiben willst, liegen in keinem Anzeige- oder Eingabeelement, sondern in einem Datenfluss. Auf den kann man aber nicht per Referenz (Pointer) zugreifen.
Willst du nur lesen, kannst du selbstverständlich eine Referenz auf ein Anzeigeelement der Klassendaten verwenden.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
' schrieb:Wieso der Wert weg ist, kann ich mir gerade auch nicht erklären.
Na, warum ist der wohl weg?
Weil durch die Referenz der Wert im Anzeigeelement überschrieben wird, nicht der im Datenfluss, der in das Anzeigeelement schreibt. Der Lesende liest das Anzeigeelement, das von der "Klasse" beschrieben, also überschrieben, wird.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
' schrieb:Willst du nur lesen, kannst du selbstverständlich eine Referenz auf ein Anzeigeelement der Klassendaten verwenden.
Da niemand die Werte ändert, kann man die Klassendaten direkt verteilen, quasi als Konstante.
' schrieb:Na, warum ist der wohl weg?
Weil durch die Referenz der Wert im Anzeigeelement überschrieben wird, nicht der im Datenfluss, der in das Anzeigeelement schreibt. Der Lesende liest das Anzeigeelement, das von der "Klasse" beschrieben, also überschrieben, wird.
Wenn ich den Wert im Anzeigeelement ändere und danach über eine Referenz auf das Anzeigeelement zugreife, sollte ich den Wert wieder bekommen.
' schrieb:Wenn ich den Wert im Anzeigeelement ändere und danach über eine Referenz auf das Anzeigeelement zugreife, sollte ich den Wert wieder bekommen.
... es sei denn, das Anzeigeelement wird kontinuierlich durch einen kontinuierlichen Prozess refresht. z.B. so: Datenfluss in While-Schleife mit Schieberegister. Der Datenfluss wird zwecks Weitergabe per Referenz in ein Anzeigeelement geschrieben ...
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
klar, wenn ich in einer Schleife fortwährend die Startwerte reinschreiben, sind die anderen Werte weg. Wer zuletzt geschrieben hat, hat gewonnen. Ich benötige vor allen Dingen keine Schleife mit Shift-Register - vielmehr darf man keine solche Schleife haben, wenn man mit Referenzen arbeitet.