06.12.2010, 10:50
Beitrag #1
|
Matze
LVF-Team
Beiträge: 1.027
Registriert seit: Apr 2010
20xx
2010
DE_EN
7xxxx
Deutschland
|
Wie über Referenzen kommunizieren?
Hallo,
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?
|
|
|
06.12.2010, 13:45
Beitrag #2
|
|
|
06.12.2010, 15:00
Beitrag #3
|
|
|
06.12.2010, 19:56
(Dieser Beitrag wurde zuletzt bearbeitet: 06.12.2010 20:00 von Matze.)
Beitrag #4
|
Matze
LVF-Team
Beiträge: 1.027
Registriert seit: Apr 2010
20xx
2010
DE_EN
7xxxx
Deutschland
|
Wie über Referenzen kommunizieren?
' schrieb:Wie erzeugst Du die Referenz?
Sieht mir im Moment nach einer Referenz auf ein Anzeigeelement aus.
Jupp genau das war das auch (Anzeigeelement eines Objekts. Wusste nicht, wie ich sonst eine referenz darauf bekomme).
Ich bin nun zu den Meldern zurückgekommen. Nicht schön, aber es funktioniert wenigstens halbwegs.
Ich greife fast nur lesend darauf zu. Daher ist es nicht so schlimm, wer wann darauf zugreifen würde, denke ich.
|
|
|
06.12.2010, 22:35
Beitrag #5
|
unicorn
LVF-Freak
Beiträge: 680
Registriert seit: Jul 2009
8.6.1, 2010 - 2012
1994
EN
10xxx
Deutschland
|
Wie über Referenzen kommunizieren?
Wenn alle lesend zugreifen, ist es eine Konstante.
Ansonst öffnet da Vorgehen Race Conditions Tür und Tor, wenn wenigsten zwei Stellen konkurierend schreiben.
Wieso der Wert weg ist, kann ich mir gerade auch nicht erklären.
Ansonsten würde so wie dem vor Dir ge-Hi-Jack-ten Thema vorgehen ...
|
|
|
06.12.2010, 22:38
Beitrag #6
|
IchSelbst
LVF-Guru
Beiträge: 3.695
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
Wie über Referenzen kommunizieren?
' 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).
|
|
|
06.12.2010, 22:40
Beitrag #7
|
IchSelbst
LVF-Guru
Beiträge: 3.695
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
Wie über Referenzen kommunizieren?
' 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).
|
|
|
06.12.2010, 23:32
Beitrag #8
|
unicorn
LVF-Freak
Beiträge: 680
Registriert seit: Jul 2009
8.6.1, 2010 - 2012
1994
EN
10xxx
Deutschland
|
Wie über Referenzen kommunizieren?
' 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.
|
|
|
06.12.2010, 23:46
Beitrag #9
|
|
|
| |