LabVIEWForum.de
Tab Control in Cluster - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Tab Control in Cluster (/Thread-Tab-Control-in-Cluster)

Seiten: 1 2


Tab Control in Cluster - IchSelbst - 27.07.2009 18:53

' schrieb:Profil Prüfling.ctl ist auch ein strict Type Def. u. ist in Profil.ctl eingebettet.
Erstens:
Klicke auf das durchgestrichene OK, dann siehst du den Fehler.

Zweitens:
Ein als Typ definiertes Element kann nicht ohne weiteres (im wahrsten Sinne des Wortes) in einen anderen Typ eingebettet werden. Das wäre nämlich sinn- und zwecklos.

Drittens:
Lösung: Du musst in Profil.ctl zuerst einen Cluster platzieren und in diesen Cluster dann die anderen (6) Cluster einbetten. Dann ist der eine Typ nicht mehr "ohne weiteres" im anderen Typ.


Tab Control in Cluster - GT123 - 28.07.2009 05:43

Guten Morgen IchSelbst

Zitat:Zweitens:
Ein als Typ definiertes Element kann nicht ohne weiteres (im wahrsten Sinne des Wortes) in einen anderen Typ eingebettet werden. Das wäre nämlich sinn- und zwecklos.
Doch das kann schon manchmal Sinn machen, je nach Anwendung eben Wink

Zitat:Drittens:
Lösung: Du musst in Profil.ctl zuerst einen Cluster platzieren und in diesen Cluster dann die anderen (6) Cluster einbetten. Dann ist der eine Typ nicht mehr "ohne weiteres" im anderen Typ.

Genau dies versuchte ich nocheinmal.
In Profil.ctl neues Cluster erstellt, dort das Profil Prüfling.ctl hinzugefügt.

Wiederum wird nicht von Profil Prüfling.ctl upgedated. D.h. wenn ich in Profil Prüfling.ctl etwas ändere, speichere u. schliesse, danach Profil.ctl öffne wurde diese Änderung nicht übernommen. Das sollte jedoch so sein -> Stict Type Def

???

Gruss
GT123

Lv86_img


Tab Control in Cluster - rolfk - 28.07.2009 07:19

Du verwendest doch Strict Typedefs für Deine Controls???? Bei mir functinoiert das von Dir beschriebene korrekt. Du wirst Dich also etwas genauer ausdrücken müssen was Du denn genau machst und was Du danach erwartest.

Ich kann Profil Prüfling.ctl veränderen und speichern und wenn ich Profil.ctl öffne sehe ich die Veränderungen darin.

So wie role schreibt muss man aber natürlich schon entweder die Verknüpfung im Profil.ctl änderen oder den Namen des Unterkontrols von Profil_Pr_fling.ctl nach Profil Prüfling.ctl ändern.

Rolf Kalbermatter


Tab Control in Cluster - RoLe - 28.07.2009 07:20

Hmm, wo ist das Problem Big Grin

öffnest du das Profil.ctl, löscht das "Profil Prüfling" (das ist falsch verknüpft) und fügst es wieder ein.


Tab Control in Cluster - GT123 - 28.07.2009 07:45

Hallo Rolf und RoLe

ja ich verwende Strict Type Defs.
Habe nun eben selbst einen Denkfehler bemerkt.
Habe z.B. ein Text in ein Control von Profil Prüfling.ctl eingeben und mit Make Current Values Default übernommen.
Dachte das dieses dann auch in der Instanz auftaucht (in Profil.ctl). Ist demnach aber nicht so. Ok.

Rolf, ja es funtkioniert, bis auf eines:
Ich ändere die Grösse des Cluster in dem Array (siehe Bild) in Profil Prüfling.ctl speichere es, lade Profil.ctl, dort wird die Änderung nicht übernommen.
Dies müsste doch von Strict Type Def auch übernommen werden?

Zitat:So wie role schreibt muss man aber natürlich schon entweder die Verknüpfung im Profil.ctl änderen oder den Namen des Unterkontrols von Profil_Pr_fling.ctl nach Profil Prüfling.ctl ändern.
Das hat was mit dem upload auf den Server von Euch zu tun. Beim mir gibt es keine Unterstriche oder _ statt ü.

Zitat:öffnest du das Profil.ctl, löscht das "Profil Prüfling" (das ist falsch verknüpft) und fügst es wieder ein.
Falsch verknüpft, wegen den Unterstrichen? Eben wie schon gesagt, das ist bei mir i.O.


Tab Control in Cluster - rolfk - 28.07.2009 08:48

' schrieb:Habe z.B. ein Text in ein Control von Profil Prüfling.ctl eingeben und mit Make Current Values Default übernommen.
Dachte das dieses dann auch in der Instanz auftaucht (in Profil.ctl). Ist demnach aber nicht so. Ok.

Ich ändere die Grösse des Cluster in dem Array (siehe Bild) in Profil Prüfling.ctl speichere es, lade Profil.ctl, dort wird die Änderung nicht übernommen.
Dies müsste doch von Strict Type Def auch übernommen werden?

Also wenn ich die Grösse verändere geht das ganz gut. Aber Du musst unterscheiden zwischen dem was den Controldatetypen und die optische Aufmachung ist, und was als Daten (Defaultdaten) in einem Control ist.

Bei normalen Typedefs werden nur Datentypänderungen in die verwendeten Instanzen übernommen, also wenn Du den Datentyp eines Elements veränderst oder innerhalb eines Cluster die Reihenfolge von Elementen anpasst. Optische Veränderungen (Grösse, Farbe, kosmetische Elemente) werden nicht automatisch übernommen.

Bei Stricttypedefs ist die Anpassung von optischen Änderungen nur noch im Control selber möglich und sowohl Datentyp als auch optische Anpassungen werden automatisch in alle Instanzen dieses Kontrolls übernommen.

Aber die Defaultdaten sind immer Bestandteil des eigentlichen Kontrolls und nicht des Typedefs. Wenn Du also in einem Array in einem Typedef Daten in ein Array eingibst und diese als Defaultwerte definierst (anders sind sie ohnehin weg nach dem Schliessen des Controls) dann hat das keinen Einfluss auf andere Controls die diesen Typedef verwenden, da diese Controls ihre eigenen Defaultdaten enthalten.

Rolf Kalbermatter


Tab Control in Cluster - GT123 - 28.07.2009 09:04

Zitat:Bei Stricttypedefs ist die Anpassung von optischen Änderungen nur noch im Control selber möglich und sowohl Datentyp als auch optische Anpassungen werden automatisch in alle Instanzen dieses Kontrolls übernommen.

Ok, soweit alles verstanden.
Dann müsste sich jedoch nach deiner Stricttypedef Aussage sich die Grösse mitändern (siehe Bild letzter Antwort).
Denn ich habe im Control die Grösse geändert, diese hat sich aber in der Instanz nicht mitgeändert.


Tab Control in Cluster - unicorn - 28.07.2009 09:09

Die Größe des Clusters im Array Prüflingskonfiguration zu ändern ist vielleicht nicht die beste Testmethode, da der Cluster die Eigenschaft "Autosizing > Size to fit" hat, was ja zu einer uneindeutigen Situation führt. Diese Änderung erscheint in der Tat nicht im Profil.ctl. Setze die Eigenschaft "Autosizing" auf "none" und schon klappts auch bei der Übernahme der Größenänderung.

Es scheint beim Bearbeiten eines Cluster wohl die Möglichkeit zu geben, bis z. B. zum Platzieren des nächsten Elements in dem Cluster die automatische Größenanpassung auszusetzen. Diese kann offensichtlich auch mit gespeichert werden; wird jedoch beendet sobald der Cluster irgendwo eingesetzt wird. Sollte eigentlich auch vor dem Speichern wieder Size to fit sein.


Tab Control in Cluster - GT123 - 28.07.2009 09:15

Zitat:Die Größe des Clusters im Array Prüflingskonfiguration zu ändern ist vielleicht nicht die beste Testmethode, da der Cluster die Eigenschaft "Autosizing > Size to fit" hat, was ja zu einer uneindeutigen Situation führt. Diese Änderung erscheint in der Tat nicht im Profil.ctl. Setze die Eigenschaft "Autosizing" auf "none" und schon klappts auch bei der Übernahme der Größenänderung.

Ja, wahnsinn, das war es. Es hat sich jedoch gelohnt hartnäckig dran zu bleiben. Bin nun wieder um eine Erfahrung reicher.

Vielen Dank allen Mitbeteiligten
GT123