Hallo,
ich muss eine GUI mit LabVIEW bauen. Um sie besser an die gegebenheiten anzupassen verändere ich Eigenschaften vieler Elemente über Eigenschaftsknoten. Zur Zeit sind es 15 Elemente und ich bekomme folgende Fehlermeldung:
Zitat:Fehler 1320 ist bei Eigenschaftsknoten (arg1) in Frontpanel.vi aufgetreten
Mögliche Ursachen:
LabVIEW: Im Ausführungsmodus kann LabVIEW keine Eigenschaft für ein noch nicht erstelltes Element lesen oder schreiben.
Ich weiß das ich das betreffende Element in die GUI geklickt habe, also es ist prinzipell vorhanden. Gibt es eine Möglichkeit wie man die die Eigenschaften von grafischen Elementen mittels Eigenschaftsknoten in einer "Initialisierungsphase" ändern kann?
Grüße
orpheus
Verstehe deine Frage nicht so ganz:
Du hast von jedem der 15 Elemente eine Referenz erstellt und daran hängt die Property oder wie machst du das?
Wenn ich die Fehlermeldung "für ein noch nicht erstelltes Element" richtig interpretiere, sehe ich hier nicht viele Möglichkeiten.
[*grübel*]
Schon komisch, so eine Meldung. Immerhin könnte das Property warten, bis das Element erstellt ist. Schließlich weiß der Kompiler ja, dass es das Element gibt und es vorhanden sein wird.
Vorschlag: Ich mach in der "Initialisiereungsphase" von VIs mit FP am Anfang immer eine Wartezeit von 250ms rein.
zum erstellen der Eigenschaftsknoten:
Rechtsklick auf Element -> Erstellen -> Eigenschaftsknoten -> gewünschte Eigenschaft auswählen
Rechtsklick auf den Eigenschaftsknoten -> Alle in schreiben ändern
Rechtsklick auf den Eigenschaftsknoten -> Erstellen -> Konstante
Wert in die Konstante geschrieben
hm komisch ich hatte zwischen Frontpanel öffen und den Eigenschaftsknoten eine wait von 5 Sekunden gemacht und es kam die gleiche Meldung. Alles war natürlich in eine flache Sequenz gegossen.
Jedetzt habe ich es noch einmal gestartet und es geht ohne wait und ohne Sequenz... Aber irgendwie muss ich doch das Programm deterministisch abgearbeitet werden.
Das Blockdiagrann ist leider viel zu groß sonst hätte ich mal einen sceenshot gemacht und die Stellen markiert (zu groß heißt ca. 4 Monitore mit 1600x1200)
Für die Eigenschaften die ich nicht dynamisch zur Laufzeit ändere habe ich jetzt mal die Initialsierungspahse weg gelassen, wenn man es einmal gemacht hat merkt sich LabVIEW die Werte. Es ist nur nicht schön, dass ich z.B. nicht über das Eigenschaftenmenü so viel "Macht" über ein Element habe wie mit Hilfe der Eigenschaftsknoten.
gruß
orpheus
Ist es vielleicht dies hier:
http://digital.ni.com/public.nsf/allkb/A62...62570EC0064348A
MfG, Jens
P.S.: Auch wenn ich es selber auch nicht immer ganz so genau nehme mit den Style-Guides, aber mehr als 4 Bildschirme bei 1600x1200 als BD ist definitiv zu viel des Guten! Empfehle dringend eine Verkleinerung durch andere Programmstruktur (z.B. State-Machine), SubVIs, etc..
#2500
thx, ich hatte mit der Deutschen Fehlermeldung nix gefunden. Es geht jetzt aber woran es liegt weiß ich nicht *g*
Danke für Eure Hilfe.
mfg
orpheus
P.S. Das ist mein erstes LV-Projekt und das BlockDiagramm der GUI ist im Laufe der Zeit irgendwie explodiert.