LabVIEWForum.de - auf Clones von SubVIs gesondert zugreifen

LabVIEWForum.de

Normale Version: auf Clones von SubVIs gesondert zugreifen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hi,

kann auf Clones von SubVIs, die als reentrant definiert sind, gesondert zugegriffen werden? Und wenn ja, wie?

NafeZ
Nö, weil es nur ein einziges "Stamm-VI" der Clones gibt.

Gruß Markus
Gut, dann muss ich ne andere Lösung finden. Danke Dir!
Was hast Du denn vor? Wenn die Clones unterschiedlich sein sollen, dann mach' doch einfach unterschiedliche SubVIs.

Gruß Markus

' schrieb:Gut, dann muss ich ne andere Lösung finden. Danke Dir!
Ich bin anderer Meinung als Y-P. Ich kenn mich zwar bei reentrant VIs (vor allem wenn sie dynamisch aufgerufen werden), nicht sooo genau aus, aber es gibt doch diese VI-Properties:
[attachment=20885]

Somit hat jede reentrant Instanz (ich meine sogar) dynamisch zur Laufzeit einen eigenen Clonenamen, und somit sollte es möglich sein, auch auf jede gerade laufende Instanz zuzugreifen. Ds ist doch gerade der Gag bei reentrant, dass das VI mehrmals im Speicher ist, jeweils mit seinem eigenen Speicherbereich, und somit unabhängig von der nächsten Instanz.

Gruß, Jens
Der Zugriff auf die einzelnen Clones macht ja nur zu Laufzeit Sinn und dort kann auch einfach im blockdiagramm durch Doppelklick darauf zugegriffen werden. Wenn die Fehlerbehandlung aktiviert ist können auch Sonden gesetzt werden, die dann natürlich nur die Daten dieses einen Clones anzeigen. Bei dynamisch aufgerufenen VIs mit geschlossenem FP geht es meines Wissens nicht, wäre aber glücklich, wenn ich mich irre.

Das gesagte gilt natürlich nur, wenn jedes VI seinen eigenen Speicher hat. Wenn nicht, geben die Sonden die Daten aller Clones aus.
Naja ich möchte auf eine FGV (Clone) zugreifen, um nicht für jedes meiner SubVIs die gleichen Infos zu haben. Ich habe jetzt 5 SubVIs der gleichen Art erstellt um das Prob zu umgehen, allerdings halt ich das für programmiertechnischen Unsinn, da am Ende die Performance leidet.
Eine FGV kann nicht reentrang laufen. Der Sinn einer FGV ist ja, Daten zu speichern, was zwar dann noch funktioniert, aber auf diese nur von einer Stelle aus dem Programm zugegriffen werden kann, nämlich von dort, wo auch die Daten reingeschrieben wurden. Siehe auch http://www.LabVIEWforum.de/FGV-Funktionale...ble-t13910.html
Hallo,
NafeZ du solltest vielleicht die Struktur nochmal überdenken bzw. genauere Info´s geben.

Zur Machbarkeitsstudie:
Im Anhang ein Screenshot mit einem Vorschlag um an die VI-Referenz des Clone´s zu kommen.

Gruß
Ralf
warum so kompliziert?
du hast doch schon die reference constant 'this VI' verwendet, somit musst du net open vi ref callen.

um ein reentrant VI von extern zu callen ohne eine idee zu haben einfach open VI reference mittels string connecten und die folgende syntax verwenden:
name.vi:X
X ist hierbei eine zahl > 0
Seiten: 1 2 3
Referenz-URLs