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 

Probleme mit Referenz beim Anpassen von dynamischen Ereignissen



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!

15.11.2015, 14:52 (Dieser Beitrag wurde zuletzt bearbeitet: 15.11.2015 15:17 von IchSelbst.)
Beitrag #2

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
RE: Probleme mit Referenz beim Anpassen von dynamischen Ereignissen
Zwar verspätet, aber weil's doch interessant ist.

(04.07.2015 16:51 )Hasenfuss schrieb:  Oder bleibt mir nur der Weg mit dem Löschen der alten registrierten Eventregistrierungsreferenz?
Ich glaube, dass bleibt uns vorerst so erhalten. Ob das in LV 2015 funktioniert, weis ich nicht ...

Eine Referenz, also auch das, was beim "Ereignisreferenz erzeugen" (also "Ereignisse registrieren") entsteht, ist immer etwas Eindeutiges. Das ist auch gut so. Und nur, was genau diese Referenz hat, darf auch zusammenarbeiten. Wenn du jetzt bei der Registrierung ein weiteres Event hinzufügst, entsteht automatisch eine ... neue Referenz!. Und da die anders ist als die alte, funktioniert die neue nicht mehr: das ist das, was du als Fehler siehst.

Folgendes muss man noch beachten:
Wenn du irgendein untypisiertes Element auf dem Blockdiagramm erzeugst, z.B. den Ereigniseingang auf einer Event-Struktur, dann wird genau in dem Moment, wenn du einen Draht anschließt dieses Element typisiert. Einmal typisiert, ist das Element für immer auf diesen Typ festgelegt. Eine automatische "Umtypisierung" gibt es nicht. - Ob es die nicht gibt, oder ob die LV-Entwickler die nicht integriert haben, weis ich nicht.

Zitat:Die Variante mit der FGV gefällt mir so am besten, weil ich sie so initialisieren kann, lesen darf und auch den case "Events löschen" einbauen kann, um die Events sauber auch wieder zu entfernen.
FGV's find' ich gut ...


(15.11.2015 14:52 )IchSelbst schrieb:  Einmal typisiert, ist das Element für immer auf diesen Typ festgelegt.
Jetzt ist mir doch beim Durchlesen meines eigenen Textes was aufgefallen: siehe Zitat.

Was liegt da näher, als einen strikten Typ zu definieren. Strikte Typen haben nämlich den Vorteil, dass man sie "umtypisieren" kann: Alles, was dann mit diesem (strikten) Typ zusammenhängt, passt sich automatisch an - das ist ja eines der schönen Sachen bei LV.

Mach jetzt also folgendes:
Am Ausgang des Elementes "Ereignis registrieren" erstellt du eine Konstante, die du in einen strikten Typ umwandelst und unter einem Namen (nämlich dem Typen-Namen) speicherst. Dann erstellt du von diesem strikten Typ eine Konstante und hängst die an den Eingang von "Ereignis registrieren". Daraufhin wirst du den Knoten weder erweitern noch verkürzen können - was ja richtig so ist, weil er ja jetzt strikt ist. Jetzt musst du - aber nur einmalig - alle Elemente, die mit dieser Referenz verbunden sind, vom strikten Typ ableiten. Und zwar alles: den Ausgang der FGV und alle Eingänge an den Event-Strukturen.

Und jetzt wird's interessant:
Wenn die ein Ereignis hinzufügen willst, gehst du wie folgt vor:
* Trenne die strikte Konstante vom Eingang des Registrierelementes - nur trennen, nicht löschen. Auch den Ausgang musst du trennen (vom Tunnel der Case-Sequenz).
* Erweitere jetzt den Knoten um ein Ereignis.
* Erstelle am Ausgang des Knotens eine Konstante und schneide diese Konstante mit Ctrl-X aus.
* Öffne die strikte Typdefinition, die zu zuvor erstellt hat, und die du vom Eingang entfernt hast.
* Füge die mit Ctrl-X ausgeschnittene neu Referenz(!) ein und lösche die alte Referenz heraus. Jetzt die Typdefinition speichern.
* Verbinde das sich noch immer im Blockdiagramm befindende Element wieder mit dem Eingang des Knotens - der jetzt wieder strikt wird und nicht erweiterbar wird.
* Verbinde den Ausgang des Knotens wieder mit dem Tunnel der Case-Sequenz.

Und schon geht wieder überall alles. Weil im ganzen Programm, also auch in den anderen VIs, alles auf strikt steht, entsteht nirgendwo ein Fehler.

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
Antwort schreiben 


Nachrichten in diesem Thema
RE: Probleme mit Referenz beim Anpassen von dynamischen Ereignissen - IchSelbst - 15.11.2015 14:52

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Erkennung von dynamischen Referenzlinien Rainerr 5 2.709 31.08.2020 10:26
Letzter Beitrag: GerdW
  *.exe als Std-Anwendung im dynamischen Kontextmenü in WIN djelton 5 4.597 20.08.2014 09:54
Letzter Beitrag: GerdW
  Array Element als Referenz von Referenz Benjamin Fuchs 15 18.613 18.02.2014 11:56
Letzter Beitrag: RabenFlug
  Werte aus Casestruktur zyklisch in Liste mittels dynamischen Events einfügen Wendigo 4 4.248 29.10.2012 08:48
Letzter Beitrag: Wendigo
  Ereignisstruktur: Zwischen Ereignissen springen smozart 3 6.478 30.11.2011 18:10
Letzter Beitrag: Lucki
  Ereignisabhängiger Zähler, der die Anzahl von Ereignissen mitzählt bienee 8 7.859 26.08.2011 10:42
Letzter Beitrag: GerdW

Gehe zu: