INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

XControl - Action



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

24.03.2013, 20:54 (Dieser Beitrag wurde zuletzt bearbeitet: 24.03.2013 21:05 von Hasenfuss.)
Beitrag #1

Hasenfuss Offline
LVF-Stammgast
***


Beiträge: 331
Registriert seit: Dec 2012

2012
2012
DE



XControl - Action
Ich habe folgende Frage:

Wenn ich in einem XControl in der Eventstruktur Werte in Display-State oder Data ändere, dann soll man unten "State changed?" oder "Data changed?" auf TRUE setzen.

Wird - wenn einer dieser Werte geTRUEd wurde, dann der Zustand "Datenänderung" oder "Anzeigenzustandsänderung" aufgerufen?

Ich möchte einen Schieberegleranzeige damit steuern. Unterhalt des Schiebereglers befinden sich zwei Knöpfe DEC und INC (ohne Beschriftung).

Wird DEC gedrückt, geht es in das Event DEC-Wertänderung. In Display-State ist ein Wert "Position" gespeichert. Dieser Wert soll genommen und das Inkrement abgezogen werden. Dann soll der neue Wert gespeichert werden. State Changed ist auf True gesetzt, also sollte doch danach das Event "Anzeigezustandsänderung" aufgerufen werden. Dort soll der Wert von DisplayState dann dem Schieberegler zugewiesen werden.

Das Event Anzeigezustandsänderung wird aber nie ausgelöst (Meldung an Benutzer in diesem Case zur Überprüfung).

Was mach ich falsch?


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
24.03.2013, 22:21
Beitrag #2

macmarvin Offline
CLA
***


Beiträge: 445
Registriert seit: Sep 2006

2014
2004
EN

81373
Deutschland
RE: XControl - Action
(24.03.2013 20:54 )Hasenfuss schrieb:  Wenn ich in einem XControl in der Eventstruktur Werte in Display-State oder Data ändere, dann soll man unten "State changed?" oder "Data changed?" auf TRUE setzen.

Wird - wenn einer dieser Werte geTRUEd wurde, dann der Zustand "Datenänderung" oder "Anzeigenzustandsänderung" aufgerufen?

Nein, diese Werte sind nur Angaben die der Runtime sagen, ob ggf. ein Undo Eintrag hinzugefügt werden und/oder das es die Daten intern ablegen muss.

Für solche Anzeigesachen, die von mehreren Cases ausgelöst werden sollen, wird von NI eine extra Case-Struktur (boolean) für Updatedisplay/Redraw im Kurs empfohlen.

Gruß
Götz
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.03.2013, 16:49
Beitrag #3

Hasenfuss Offline
LVF-Stammgast
***


Beiträge: 331
Registriert seit: Dec 2012

2012
2012
DE



RE: XControl - Action
Hallo Götz,

herzlichen Dank fuer Deine Antwort.

(24.03.2013 22:21 )macmarvin schrieb:  Für solche Anzeigesachen, die von mehreren Cases ausgelöst werden sollen, wird von NI eine extra Case-Struktur (boolean) für Updatedisplay/Redraw im Kurs empfohlen.

Mal angenommen, ich füge jetzt noch so einen Case hinzu - wo setze ich diesen Case hinein? Der Timeout-Case wird ja stets zum Schluss ausgelöst. Sollte man dann diese Case-Struktur für Updatedisplay/Redraw in den Timeout-Case reinsetzen?

Du sprichst auch von einem Kurs - gibt es diesen Kurs auch im Internet? Bei meinen Kursen an der Uni kam das Thema mit XControls nicht vor und in meinen Kursunterlagen fand ich dazu auch nichts. Es gibt zwar auch einige Beispiele, z.B. das Beispiel mit dem Taschenrechner oder dem Thermometer, aber so ganz verstanden hab ich es leider noch nicht.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.03.2013, 17:10
Beitrag #4

Hasenfuss Offline
LVF-Stammgast
***


Beiträge: 331
Registriert seit: Dec 2012

2012
2012
DE



RE: XControl - Action
Hier hab ich mal ein Text-XControl gemacht (gespeichert in LabView 2010). In dem Beispiel ist ein Schieberegler, ein numerisches Anzeigefeld und ein num. Eingabefeld. Schieberegler und Eingabefeld können verändert werden. Anzeigefeld bekommt Wert zugewiesen. In diesem Beispiel jetzt hab ich garnicht mit den Feldern Data und DisplayState gearbeitet.

Würde man jetzt den Wert im Schieberegler eher in dem Strang DisplayState speichern oder in Data?

Wenn ich später eine Eigenschaft hinzufügen will (z.B. LeseSchiebereglerWert), dann muss der Wert ja in DisplayState gespeichert sein, weil nur DisplayState dann vorhanden ist in der Eigenschaft.


Angehängte Datei(en)
0.0 .zip  test LV2010.zip (Größe: 28,5 KB / Downloads: 231)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.03.2013, 21:50
Beitrag #5

macmarvin Offline
CLA
***


Beiträge: 445
Registriert seit: Sep 2006

2014
2004
EN

81373
Deutschland
RE: XControl - Action
Hallo Hasenfuss,

Der Wert das dein XControl anzeigen/bedienen soll, kommt in die Data Ability. Alles andere was gemerkt werden soll, _muss_ in den Display State! Keinesfalls in lokale Variablen, Schieberegister o.ä. innerhalb des Facade VI.
Also wie du schon richtig gesagt hast, müsste der Wert des Schiebereglers in den Display State, sonst kannst du ihn nicht innerhalb von Methode/Eigenschaften verwenden.
Im Beispiel habe ich exemplarisch den Redrawbereich hinzugefügt und spasshalber eine Eigenschaft + TestVI gebastelt.
War etwas faul und hab' s als LV 2011 gespeichert... solltest du ja lesen können.

XControls sind, soweit ich weiß, nur im höchsten LV Kurs (Advanced Architectures in LV) enthalten.

Ein Wort der Warnung:
Beim Entwickeln von XControls schafft man es relativ einfach die LV einzufrieren. Die zusätzliche Entwicklungszeit lohnt sich meist nur, wenn das Control häufig benutzt wird oder es partout ein XControl werden soll. Und wenn das Programm mal "komisch" klemmt würde ich immer zuerst aufs XControl zeigen.


0.0 .zip  test LV2011.zip (Größe: 74,46 KB / Downloads: 309)


Gruß
Götz
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.03.2013, 00:15
Beitrag #6

Hasenfuss Offline
LVF-Stammgast
***


Beiträge: 331
Registriert seit: Dec 2012

2012
2012
DE



RE: XControl - Action
Hallo Götz,

vielen Dank für die Erweiterung meines Beispiels.

Eine Frage hab ich noch - ich möchte zunächst nicht wissen, wie es geht, sondern nur, ob es geht oder nicht. Kann sich ein XControl selber "aktualisieren"?
Ein XControl könnte eine Uhrenanzeige sein. Man könnte in einer Schleife dem XControl durch eine Eigenschaft "aktuelle Zeit" aus dem Basis-VI zuweisen, geschieht dies in einer Schleife, dann wird die Zeit stetig aktualisiert.

Geht das aber auch automatisch, dass das XControl die Anzeige von selber aktualisiert, ohne dass eine Zuweisung aus dem Basis-VI erfolgen muss? Ich frage das deshalb, weil ich ein Beispiel-XControl mit einer Laufschrift gefunden habe, leider ist dieses Beispiel noch zu komplex und ich verstehe es noch nicht. Dort wird aber lediglich ein String hingesendet mit dem Text, das XControl erneuert aber andauernd die Laufschrift, ohne dass ich das XControl z.B. alle 100ms aufrufe aus dem Basis-VI.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
26.03.2013, 12:28
Beitrag #7

macmarvin Offline
CLA
***


Beiträge: 445
Registriert seit: Sep 2006

2014
2004
EN

81373
Deutschland
RE: XControl - Action
(26.03.2013 00:15 )Hasenfuss schrieb:  Eine Frage hab ich noch - ich möchte zunächst nicht wissen, wie es geht, sondern nur, ob es geht oder nicht. Kann sich ein XControl selber "aktualisieren"?
Ein XControl könnte eine Uhrenanzeige sein. Man könnte in einer Schleife dem XControl durch eine Eigenschaft "aktuelle Zeit" aus dem Basis-VI zuweisen, geschieht dies in einer Schleife, dann wird die Zeit stetig aktualisiert.

Das Facade VI kann es nicht selbst, da es normalerweise nicht läuft.
Was aber denkbar wäre ist, dass beim Init oder ExecStateChange ein parallel laufendes VI gestartet wird und dieses das XControl z.b. per UserEvent zyklisch antriggert.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  exaktes Ausrichten von XControl-Fassaden Hasenfuss 2 3.251 19.10.2016 07:28
Letzter Beitrag: TSC
  Probleme mit XControl -> DisplayStateIn Hasenfuss 0 2.679 07.04.2016 09:28
Letzter Beitrag: Hasenfuss
  Wie XControl ausführen? Hasenfuss 2 3.367 29.06.2015 13:03
Letzter Beitrag: Hasenfuss
  XControl sendet keine Daten nach draußen Hasenfuss 4 4.333 06.04.2015 13:52
Letzter Beitrag: macmarvin
  XControl erstellen, Tabelle mit Spaltentitel über n Spalten dali4u 1 3.854 28.03.2015 15:09
Letzter Beitrag: GerdW
  Xcontrol: Übergabe Referenz an SubVI kwakz 2 3.910 07.08.2013 12:45
Letzter Beitrag: kwakz

Gehe zu: