(scheint, dass ich seit der Forumsumstellung keine automatischen Email-Benachrichtigungen mehr bekomme und selbst abonnieren muss)
Zitat:Was von beiden Lupin will, ist unklar. Es sollte nun langsam mal klar gesagt werden.
Also mit leerem Array meine ich natürlich LabVIEW gemäß eines mit 0 Elementen. Ich habe ja auch von einem Cluster-Array geschrieben. Damit sollte klar sein, dass es nicht um auf 0 setzen geht.
Zitat:Mach ein subVI daraus und nach Möglichkeit auch ein TypeDef.
Wie könnte ich ein SubVI schreiben, das für jegliches Array, egal welchen Typs funktioniert? Polymorph ok, aber da muss ich ja trotzdem für jeden Typ ein SubVI erzeugen. Klar für genau dieses eine Mal könnte ich es machen. Aber ich hatte den Fall schon einige Male.
Zitat:Array - Erstellen - Eigenschaftsknoten - Wert
Das mit dem Property-node geht an der Lösung vorbei. Ich möchte ja eben gerade KEINE Konstante am Blockdiagramm. Außerdem gibt es zu dem Array kein Frontpanel-Objekt, da es On-The-Fly zusammengebaut wird.
Zitat:Kannst du das "Problem" näher erläutern? Ich sehe da keins...
Aja, stimmt. Hatte kurz vergessen, das ein Zugriff auf ein nicht existierendes Array-Element ja dessen Default-Wert zurück gibt. Da ist also nur noch, dass man mehrere Funktionen braucht um ein Array zu leeren. Mir geht's darum, ein möglichst übersichtliches Blockdiagramm zu haben, bei dem man nicht überlegen muss "was macht die Funktion mit diesen Parametern".
Zitat:Umsteigen auf LV2010: Da kannst du von einer Cluster-Konstanten im BD ein Symbol anzeigen anstatt des gesamten Cluster.
Iin dem Fall hänge ich bei LV2009.
Zitat:Alternativ die Konstante einfach in ein Control umwandeln und dieses auf dem Front Panel verstecken.
Ja, das habe ich auch schon gemacht. Das kommt noch am ehesten an das ran, was ich möchte. Es ist mir aber schon mal passiert, dass ich unabsichtlich im Control des Arrays ein Element initialisiert habe. Wenn das FP-Objekt dann auch noch versteckt ist, sucht man lang, wenn plötzlich das Programm spinnt. Und bei einer Änderung der Cluster-Zusammensetzung muss ich das FP-Objekt mitanpassen (gilt für eine Konstante ebenso). Natürlich könnte man eine Typedef nehmen, aber das Array (und die enthaltenen Cluster) werden On-The-Fly zusammen gebaut und es gibt nirgends ein Frontpanel-Objekt dazu.
Also ich werde es am ehesten mit einer Case-Struktur mit "return default if unwired" machen, bei der immer der unwired Case aufgerufen wird. Das mit dem Diagramm disable würde mir noch besser gefallen, da dabei ja im kompilierten Code gar keine Fallunterscheidung gemacht werden muss, aber wenn es dabei dann andere Performanceeinbußen gibt, lieber doch nicht. Es ist zwar alles ein "workaround", aber das scheint mir der auf Anhieb am schnellsten zu erfassende zu sein.