INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Wie über Referenzen kommunizieren?



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!

06.12.2010, 10:50
Beitrag #1

Matze Offline
LVF-Team
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?

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.12.2010, 13:45
Beitrag #2

unicorn Offline
LVF-Freak
****


Beiträge: 680
Registriert seit: Jul 2009

8.6.1, 2010 - 2012
1994
EN

10xxx
Deutschland
Wie über Referenzen kommunizieren?
Wie erzeugst Du die Referenz?
Sieht mir im Moment nach einer Referenz auf ein Anzeigeelement aus.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.12.2010, 15:00
Beitrag #3

abrissbirne Offline
LVF-Stammgast
***


Beiträge: 480
Registriert seit: Aug 2007

LV2009, LV2010
2007
EN

66123
Deutschland
Wie über Referenzen kommunizieren?
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.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.12.2010, 19:56 (Dieser Beitrag wurde zuletzt bearbeitet: 06.12.2010 20:00 von Matze.)
Beitrag #4

Matze Offline
LVF-Team
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.Unsure

Ich greife fast nur lesend darauf zu. Daher ist es nicht so schlimm, wer wann darauf zugreifen würde, denke ich.

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.12.2010, 22:35
Beitrag #5

unicorn Offline
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 Wink Thema vorgehen ...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.12.2010, 22:38
Beitrag #6

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.697
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).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
06.12.2010, 22:40
Beitrag #7

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.697
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).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.12.2010, 23:32
Beitrag #8

unicorn Offline
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.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.12.2010, 23:46
Beitrag #9

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.697
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Wie über Referenzen kommunizieren?
' 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).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.12.2010, 08:14
Beitrag #10

unicorn Offline
LVF-Freak
****


Beiträge: 680
Registriert seit: Jul 2009

8.6.1, 2010 - 2012
1994
EN

10xxx
Deutschland
Wie über Referenzen kommunizieren?
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.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Extrem langsamer Variablen Zugriff über Referenzen hajos118 12 5.610 01.08.2022 17:20
Letzter Beitrag: BNT
  Muss man Referenzen von controls überhaupt schließen? dimitri84 4 4.237 21.04.2022 11:57
Letzter Beitrag: dimitri84
  Referenzen in mehreren Bibliotheken aktualisieren seuk 3 4.012 12.09.2019 09:10
Letzter Beitrag: IchSelbst
  Mit Labornetzgerät kommunizieren? dulfried 7 5.648 09.10.2017 14:21
Letzter Beitrag: GerdW
  Cluster mit Referenzen auf FP-Elemente Oli_N 8 9.088 15.02.2017 11:19
Letzter Beitrag: Oli_N
  Frage zu Referenzen maxxillian 1 4.084 21.10.2016 08:04
Letzter Beitrag: GerdW

Gehe zu: