LabVIEWForum.de - aus Refnum eines Elements eines Bedienclusters die Refnum des Besitzers ermitteln

LabVIEWForum.de

Normale Version: aus Refnum eines Elements eines Bedienclusters die Refnum des Besitzers ermitteln
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hi Leute,

folgendes Problem habe ich nach Update auf LV2011 festgestellt:

In meinem aktuellem Projekt habe ich mehrere Bedienelemente zu einem
"Bediencluster" zusammengefasst. Der Cluster ist als Typ-Def angelegt.
Im Projekt werden mehere Kopien des Bedienclusters verwendet. Die Anzahl
ist kundenspezifisch. Alle Refnums der Cluster sind in einem Array abgelegt.

Wird an einem Bedienelement des Clusters ein Wert geändert, wird ein
Value-Change Ereignis ausgelöst. Dann wird über die Refnum des Elements
die Refnum des jeweiligen Bedienclusters ermittelt (Eigenschaft Besitzer).
Diese Refnum wird dann in dem o.g. Array gesucht und über den ermittelten
Index kann der Eingabewert zugeordnet werden.

Seit LV2011 funktioniert die Ermittlung des Besitzers einer Refnum nicht mehr.
Nur wenn man den Bediencluster von der Typdefinition trennt, funktioniert es.

Anbei ein kleines Beispiel (LV2010) zur Demonstration. In LV2010 leuchten
beide LED's (beide Vergleiche positiv), aber in LV2011 nur eine.

Gruß Micha
Interessanter Effekt, kann ich bestätigen, aber leider nicht erklären.

Hast du das mal bei NI als Bug eingereicht?

Als Ausweg könntest du in lv11_img auf die UID-Property ausweichen.

Gruß, Jens
Hi Jens,

mit dem Support von NI habe ich schon telefoniert. Die konnten
das Problem auch nachvollziehen, aber mir keine Lösung bieten.
Als Bug wollte man es aber noch nicht anerkennen. Dafür wird
die Sache nun "eskaliert" (coole Bezeichnung), sprich es wird an
die Entwickler weitergeleitet. Ein Feedback wurde mir für nächste
Woche versprochen. Melde mich bei Neuigkeiten.

Die Idee mit der UID ist Klasse (wieso kriegt man solche Infos nicht
vom gut bezahlten Support?). Die funktioniert zumindest bei dem
Beispiel. Ich warte erst mal auf NI und arbeite bis dahin mit LV2010
weiter.

Ist es eigentlich möglich eine Refnum in eine Zahl zu wandeln? Wenn man
an eine Refnum-Leitung eine Probe platziert, wird ja im Watch Window
ein Zahlenwert angezeigt. Ich habe es schon über den Umweg Variant
versucht. Ohne Erfolg.

Gruß Micha
Update: Das Problem wurde nach NI USA weitergeleitet und
konnte dort auch nachvollzogen werden. Lösung gibt es noch
nicht, aber die Ingenieure arbeiten wohl dran.

Gruß Micha
(30.09.2011 08:46 )FEL schrieb: [ -> ]Ist es eigentlich möglich eine Refnum in eine Zahl zu wandeln?
Ich habe mal so versucht, siehe unten. Die RefNr besetzt 32bit, bei Typcast in U32 sieht es so aus wie unten - aber das trägt auch nicht zur Klärung des Sachverhaltes bei.

[attachment=36438]
Ich könnte mir vorstellen, dass da eine Refnum auf Control in der typdefinierenden ctl-Datei erzeugt wird. Das müsste man mal per VI-Server-Aufruf überprüfen.

Aber schön, dass das Problem bei NI in den USA anerkannt wurde.

Gruß, Jens
(11.10.2011 18:08 )Lucki schrieb: [ -> ]Ich habe mal so versucht, siehe unten. Die RefNr besetzt 32bit, bei Typcast in U32 sieht es so aus wie unten - aber das trägt auch nicht zur Klärung des Sachverhaltes bei.
Upps, auf die Typecast-Umwandlung hätte ich auch selber kommen müssen.
Es löst das Problem nicht. Aber ich hatte mir die Refnums mal
als Binärzahlen anzeigen lassen, um vielleicht des Problem
eingrenzen zu können. Diese Umwandlung macht sich mit "normalen"
Elementen besser als mit einer Probe. (Soweit ich weiß)

Ich hatte das Beispiel mal erweitert und einen weiteren
Bediencluster (_ctl HV.ctl) platziert und dann wieder den Besitzer
eines Einzelelementes bestimmt. Auch diese Refnums waren
unterschiedlich. Hätte ja sein können, das diese gleich sind
und auf die selbe Typdefinition zeigen.

Gruß Micha
Update: Das Problem ist weiterhin in der Bearbeitung. Mit einer
Lösung ist kurzfristig nicht zu rechen. Vielleicht beim Frühjahrs-
Update. Mein Request wurde geschlossen.

Gruß Micha
Update: Laut Support ist das Problem nun gelöst und wird im nächsten
SP behoben. Man hat mich zum Betatest des SP eingeladen. Allerdings
fehlt mir dazu die Zeit. Zumal ich mit der Betaversion keine Programme
für Kunden erstellen möchte. Da warte ich lieber auf das offizielle SP.

Gruß Micha
Referenz-URLs