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 

Muss man Referenzen schließen?



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!

22.02.2010, 14:23 (Dieser Beitrag wurde zuletzt bearbeitet: 22.02.2010 14:24 von IchSelbst.)
Beitrag #8

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.692
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Muss man Referenzen schließen?
' schrieb:Ich glaube die kleine Meldung von IchSelbst war nur eine Ankündigung dazu was Näheres zu erzählen. (?)
Echt cool, dimitri84. Aus dir wird mal ein guter Diplomat. (Das kursive hab ich mal ignoriert). Wink

Eine explizite Referenz auf ein Frontpanelelement kann man eigentlich gar nicht löschen. Sie stellt (eigentlich) nur eine Möglichkeit dar, aus einem instanzfreien Property ein instanzbezogenes Property zu machen. Woher soll ein Property sonst wissen, welches Objekt (Instanz auf dem Frontpanel) es bearbeiten soll. Eine solche Referenz steht prinzipiell bereits zur Entwicklungszeit fest. Zur Laufzeit des Programmes muss hier (eigentlich) gar nichts gemacht werden. Würde man diese Referenz löschen, wäre beim nächsten Aufruf die Referenz nicht mehr vorhanden - und damit auch der Verweis, welche Instanz bearbeitet werden soll. Eine solche Referenz würde am Ende des Programmes automatisch gelöscht werden.

Für eine implizite Referenz, das sind die, die man per Panel->Elemente bekommt, gilt prinzipiell das selbe. LV hat hier nur das Problem mit dem Array: Ein Array kann nur typidentische Elemente enthalten. Daher sind alle Elemente von Typ TObject (oder auch: TypFrontpanelelement). Und die muss man dann per "To more specific class" selbst manuell genauer spezifizieren. Das ist leider so.

Auch für eine "VI-Referenz" wie von SeBa angegeben gilt im Prinzip das selbe. Nur ist es hier noch schlimmer: Würde man die Referenz löschen - sollte eigentlich das Objekt gelöscht werden: Das VI wäre dann also verschwunden.


Gelöscht wird ja nicht eine Referenz. Referenz ist ein abstrakter Begriff. Gelöscht, bzw. freigegeben, wird immer Speicherbereich (und ggf. ein Treiber), der hinter der Referenz steht. Der Bereich hinter der Referenz eines Frontpanelelementes wäre aber das Frontpanelelement selbst. Löschen ist immer dann, und nur dann, notwendig, wenn zur Laufzeit etwas created wird. Beim Createn wird ein Speicherbereich geschaffen, der zwangsweise auch wieder gelöscht werden muss. Öffnet man eine VI-Referenz per VI-Server, so wird ein "Handle-Block" generiert und der ist es, der per Close geschlossen werden muss.

(Und ob es nun Referenz, Handle oder Instanz heißt, sollte auf der Anwenderebene von LabVIEW keine Rolle spielen.)

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
Muss man Referenzen schließen? - SeBa - 22.02.2010, 13:00
Muss man Referenzen schließen? - SeBa - 22.02.2010, 13:09
Muss man Referenzen schließen? - Y-P - 22.02.2010, 13:19
Muss man Referenzen schließen? - SeBa - 22.02.2010, 13:25
Muss man Referenzen schließen? - IchSelbst - 22.02.2010 14:23
Muss man Referenzen schließen? - SeBa - 22.02.2010, 16:18
Muss man Referenzen schließen? - Y-P - 22.02.2010, 17:42

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Extrem langsamer Variablen Zugriff über Referenzen hajos118 12 5.594 01.08.2022 17:20
Letzter Beitrag: BNT
  Muss man Referenzen von controls überhaupt schließen? dimitri84 4 4.234 21.04.2022 11:57
Letzter Beitrag: dimitri84
  Referenzen in mehreren Bibliotheken aktualisieren seuk 3 4.001 12.09.2019 09:10
Letzter Beitrag: IchSelbst
  Cluster mit Referenzen auf FP-Elemente Oli_N 8 9.052 15.02.2017 11:19
Letzter Beitrag: Oli_N
  Frage zu Referenzen maxxillian 1 4.074 21.10.2016 08:04
Letzter Beitrag: GerdW
  Alternative zu Referenzen moTo 2 4.164 26.04.2016 18:16
Letzter Beitrag: moTo

Gehe zu: