' 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).
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.)