Hallo,
kann mir mal jmd in knappen Worten den unterschied zwischen einer strikten Typdefinition und einer einfachen Typdefinition erklären.
Was braucht man wozu?
Gruß Achim
Bei StrictTypeDefs kannst du bei den einzelnen "Instanzen" gar nichts ändern (z.B. Farben etc.), da musst du das in der Definition direkt machen. Bei normalen TypeDefs kannst du die Farben dann in jeder Instanz beliebig einstellen.
Ich weiß jetzt grad auch nicht mehr...
Guck mal in der LV Hilfe unter Index..."strict type definition"
Soweit ich weiß und was man bei Intermediate I erzählt hat, ist das auch das Einzige.
Bei Strict-Type-Def kannst Du die Werte (z.B. bei einem Enum) ändern, aber z.B. die Größe, Farbe,... des Enums selber nicht.
Bei Type-Def kannst Du Werte
und Aussehen ändern.
Gruß Markus
' schrieb:Bei StrictTypeDefs kannst du bei den einzelnen "Instanzen" gar nichts ändern (z.B. Farben etc.), da musst du das in der Definition direkt machen. Bei normalen TypeDefs kannst du die Farben dann in jeder Instanz beliebig einstellen.
Ich weiß jetzt grad auch nicht mehr...
Bei Instanzen von strikten Typdefs kann man lediglich die Werte der Elemente ändern. Der Wert ist das, was dem Propertynode "Value" entspricht oder einer "lokalen Variablen" des Elementtyps.
Alles andere kann man nicht ändern. Dazu gehört neben der Farbe etc. auch die Position eines Elementes innerhalb des Clusters, wenn der Typ ein Cluster ist. Auch alle anderen Eigenschaften, die nur über Propertynodes erreichbar sind, können nicht geändert werden: z.B. die Texte eines Rings (Property Strings[]).
Eine nromale Typdef kann man wie eine Vorlage ansehen. Hereinkopieren und beliebig in der IDE und/oder während der Laufzeit ändern.
Vorteil von stricts, die ja neben Datentyp auch Aussehen festlegen, ist auch noch das man z.b. in großen, zusammengesetzten Datenstrukturen aus Typedef in Typedef usw. auch Doku mit unterbringen kann, deren Änderung bis nach "oben" propariert werden. Das geht mit normalen Typedefs logischerweise nicht. Wenn man die Funktionalität auch bei Normalen braucht, reicht's kurz auf strict umzuschalten, übernehmen und wieder zurück auf normal.
Wenn Du einen Strict Typedef modifizierst und abspeicherst übernehmen sämtliche VIs (und Controls) die davon Gebrauch machen diese Änderung automatisch, auch wenn es nur optische Änderungen sind (Farbe, Grösse, Plazierung von Elementen, etc). Bei Typedefs hat die Veränderung optischer Gegebenheiten einer Instanz keinen direkten Einfluss auf andere Instanzen dieses Typedefs.
Nur wenn am Datentyp etwas verändert wird (Datentyp selber, oder ein Elemente einer Enum, oder die Reihenfolge oder ein einzelner Datentyp in einem Cluster, etc) hat das ein Update der anderen Instanzen zur Folge, mit dem manchmal etwas unerwarteten Effekt dass dann auch optische Anpassungen mit übernommen werden.
Rolf Kalbermatter