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, 12:53 (Dieser Beitrag wurde zuletzt bearbeitet: 22.02.2010 13:49 von Y-P.)
Beitrag #1

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.689
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Muss man Referenzen schließen?
EDIT von Y-P:
Dieses Thema wurde von einem anderen Thema abgespaltet, da es als Grundlage für eine Diskussion gelten soll, ob und wann man Referenzen schließen soll, darf, muss. Big Grin

' schrieb:Nicht vergessen geöffnete Referenzen wieder zu schließen
Referenzen schließen? Unsure

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
22.02.2010, 13:00
Beitrag #2

SeBa Offline
LVF-Guru
*****


Beiträge: 2.025
Registriert seit: Oct 2008

09SP1 & 10 FDS
2008
DE

65xxx
Deutschland
Muss man Referenzen schließen?
' schrieb:Referenzen schließen?Unsure

   

Muss man nicht?
Hab mir angewöhnt, alles was ich auf mache auch wieder zu schließen...

Gruß SeBa

Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.

Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.

Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.02.2010, 13:01
Beitrag #3

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
Muss man Referenzen schließen?
' schrieb:Nicht vergessen geöffnete Referenzen wieder zu schließen... ich habs weggelassen.
Mir ist bei dem Satz in den Sinn gekommen, dass ich Control-Referenzen nie schließe. Welches (theoretische) Risiko besteht denn bzw. welchen Schaden richtet man an, wenn man das Schließen vergisst?

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.02.2010, 13:09
Beitrag #4

SeBa Offline
LVF-Guru
*****


Beiträge: 2.025
Registriert seit: Oct 2008

09SP1 & 10 FDS
2008
DE

65xxx
Deutschland
Muss man Referenzen schließen?
' schrieb:Mir ist bei dem Satz in den Sinn gekommen, dass ich Control-Referenzen nie schließe. Welches (theoretische) Risiko besteht denn bzw. welchen Schaden richtet man an, wenn man das Schließen vergisst?

Ehrlich gesagt...KA

Welches Risiko besteht denn, wenn du den Kühlschrank oder die Haustür offen lässt?Unsure

Gruß SeBa

PS:
Hat eigentlich nur indirekt mit der original Fragestellung zu tun...
... mag das mal einer in zwei Topics aufteilen?

Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.

Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.

Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.02.2010, 13:14
Beitrag #5

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
Muss man Referenzen schließen?
' schrieb:Welches Risiko besteht denn, wenn du den Kühlschrank oder die Haustür offen lässt?Unsure
1) Meinen Kühlschrank oder Haustür öffne ich nicht via Referenz.
2) Die dabei entstehenden Risiken sind mir (und auch dir) sehr wohl bekannt.


Ich glaube die kleine Meldung von IchSelbst war nur eine Ankündigung dazu was Näheres zu erzählen. (?)

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.02.2010, 13:19
Beitrag #6

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Muss man Referenzen schließen?
Das machst Du auch gut so. Referenzen gehören geschlossen (auch wenn man es manchmal nicht unbedingt muss).
Hier wird darüber diskutiert: http://forums.ni.com/ni/board/message?boar...ssage.id=159571
Ich schließe auch alle, dann bin ich auf der sicheren Seite.

Gruß Markus

' schrieb:[attachment=52996:close_ref.png]

Muss man nicht?
Hab mir angewöhnt, alles was ich auf mache auch wieder zu schließen...

Gruß SeBa

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
22.02.2010, 13:25
Beitrag #7

SeBa Offline
LVF-Guru
*****


Beiträge: 2.025
Registriert seit: Oct 2008

09SP1 & 10 FDS
2008
DE

65xxx
Deutschland
Muss man Referenzen schließen?
' schrieb:...
Hier wird darüber diskutiert: http://forums.ni.com/ni/board/message?bo....id=159571...


Da hab ich auch grad drin gestöbertBig Grin

Hier noch ein LabVIEWWiki.org Artikel zu ControlReferences

Gruß SeBa

Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.

Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.

Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
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.689
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
22.02.2010, 14:43 (Dieser Beitrag wurde zuletzt bearbeitet: 22.02.2010 14:46 von dimitri84.)
Beitrag #9

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
Muss man Referenzen schließen?
' schrieb:Öffnet man eine VI-Referenz per VI-Server, so wird ein "Handle-Block" generiert und der ist es, der per Close geschlossen werden muss.
Genau, das waren bisher immer die einzigen Referenzen die ich wieder geschlossen habe.

Zitat:(Das kursive hab ich mal ignoriert).
Was ist an dem Wort erzählen verkehrt?Huh

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.02.2010, 15:10 (Dieser Beitrag wurde zuletzt bearbeitet: 22.02.2010 15:12 von IchSelbst.)
Beitrag #10

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.689
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Muss man Referenzen schließen?
' schrieb:Was ist an dem Wort erzählen verkehrt?Huh
Märchen und Geschichten werden erzählt am Lagerfeuer, technischen Fakten werden mitgeteilt (oder so). (Genauso wie Software nicht auf einem Server "herumliegt", die ist dort installiert.)

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 


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

Gehe zu: