LabVIEWForum.de
Muss man Referenzen von controls überhaupt schließen? - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Muss man Referenzen von controls überhaupt schließen? (/Thread-Muss-man-Referenzen-von-controls-ueberhaupt-schliessen)



Muss man Referenzen von controls überhaupt schließen? - dimitri84 - 20.04.2022 08:55

Hallo zusammen,

gestern bei der Performance Schulung von NI wurde ein sehr vergleichbares Beispiel gezeigt mit dem Hinweis, dass die Referenzen von den controls geschlossen werden müssten.

[attachment=62201]

Ich habe da irgendwie ein anderes Verständnis. Ich dachte immer, wenn ich die Referenzen über diese property node bekomme, dann habe ich nicht wirklich (neue) Referenzen erzeugt. Viel mehr nur für die existierenden Referenzen die Werte erhalten. Sobald das VI ausgeführt wurde, wird alles von der LV runtime aufgeräumt, ohne, dass ich davon etwas mitbekomme. Ich würde sogar in Frage stellen ob das Schließen der Referenzen überhaupt etwas macht, denn die controls gibt es ja noch und solange es die gibt, gibt es auch eine Referenz darauf. Oder?

Ich kann nicht glauben, dass ich jedes mal "neue" Referenzen bekomme, wenn ich die node benutze. Aber nur so würde es Sinn machen diese zu schließen. Was sagt ihr?


Beste Grüße dimitri


RE: Muss man Referenzen von controls überhaupt schließen? - TpunktN - 20.04.2022 12:32

Mahlzeit dimitri,

ich hatte dazu ebenfalls mal ein Thread erstellt, kannst du ja mal reinschauen.

Das einzige was ich mir vorstellen kann ist, dass 'To More Specific Class' eine neue Referenz erzeugt, die man schließen sollte, wenn man diese nicht mehr braucht.
Du kannst mal versuchen die Referenz zu schließen und danach etwas damit zu machen ('Not a Refnum' abfragen) oder der Referenzwert anzeigen.

Auch mein Verständnis ist so, Referenzen zu (zB) Controls können nicht geschlossen werden und die Referenz bleibt nach dem Versuch gültig.

Das zumidnest was ich bisher dazu gelernt habe.

MfG Timo


RE: Muss man Referenzen von controls überhaupt schließen? - dimitri84 - 20.04.2022 13:24

Hallo Timo,

danke für die Antwort. Ich würde sogar sagen "to more specific ..." erzeugt auch keine neue Referenz. Wert bleibt identisch.


Beste Grüße


RE: Muss man Referenzen von controls überhaupt schließen? - jg - 20.04.2022 16:23

Hallo Dimitri,

Timo hat ja schon indirekt auf den Beitrag von Darren im NI-Forum verwiesen.

Hier nochmal sein letzter Beitrag aus diesem Thread:
https://forums.ni.com/t5/LabVIEW/Which-references-need-to-be-quot-Closed-quot/m-p/3775021/highlight/true#M1063802

Solange du auf ein Control-Element aus der LabVIEW Klassenhierachie verweist, kannst du dir ein Close-Refnum sparen. Ein "ToMoreSpecific" oder "ToMoreGeneral" erzeugt auch keine neue Referenz sondern ändert nur deren Eigenschaften.

Wenn du auf Nummer sicher gehen willst, dann schließt du die Refnums von LabVIEW Controls, aber notwendig ist es nicht.

Gruß, Jens


RE: Muss man Referenzen von controls überhaupt schließen? - dimitri84 - 21.04.2022 11:57

Hallo Jens,

das bestätigt mein Gefühl, dass die Dozentin das nicht so ganz verstanden hat. Danke für die Antwort.

Beste Grüße
Dimitri