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 

Eventhandling - Bedienelemente außerhalb oder innerhalb?



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!

15.06.2010, 10:42 (Dieser Beitrag wurde zuletzt bearbeitet: 15.06.2010 10:46 von schurzgasschweisser79.)
Beitrag #1

schurzgasschweisser79 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 86
Registriert seit: Apr 2010

8.6
2010
de


Deutschland
Eventhandling - Bedienelemente außerhalb oder innerhalb?
Hallo,
wie ist es denn Sitte beim Eventhandling seine Bedienelemente im Blockdiagramm zu positionieren?
Außerhalb von den jeweiligen Eventcases die von dem Bedienelement ausgelöst werden oder innerhalb?

Ich würde sie außerhalb hinsetzen, damit andere Eventcases auch deren Werte abfragen können ohne Variablen zu verwenden. Außerdem findet man dann alle Bedienelemente auf einen Blick und muss sie nicht erst in den einzelnen Events suchen.
Ist das ok? Oder gibt es irgendwelche Nachteile bzw. funktioniert das Eventhandling nicht mehr richtig, wenn die Bedienelemente nicht innerhalb des Eventcases sind?

DankeSmile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
15.06.2010, 11:08
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Eventhandling - Bedienelemente außerhalb oder innerhalb?
Ich sag mal, jeder hat da seine eigene Philosophie.

Ich bin in der Regel für "Terminal kommt in den Eventcase, in dem ein ValueChange verarbeitet wird". Ich halte das aber nicht immer 100pro durch.

Auf jeden Fall mache ich dies aber bei Latch-Buttons. Denn ein Latch-Button wird im FP erst wieder auf seinen Original-Zustand gesetzt, wenn das Terminal im BD ausgelesen wird. Wenn du so einen Latch-Button neben der Eventstruktur hast, dann wird der Button erst beim nächsten Durchlauf der Event-Loop zurückgesetzt. Ich persönlich finde diese Verhalten verwirrend.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.06.2010, 11:31
Beitrag #3

schurzgasschweisser79 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 86
Registriert seit: Apr 2010

8.6
2010
de


Deutschland
Eventhandling - Bedienelemente außerhalb oder innerhalb?
Ist das nicht in einem normalen Loop auch so? Ich drück den Button und bei der nächsten Loop wiederholung wird er zurückgesetzt? Aso, aber bei den Events kann es natürlich etwas dauern bis das nächste Event stattfindet. Hm stimmt, andernfalls bleibt er dann gedrückt solang bis wieder ein Event stattfindet. Des is ja doofWink

Wenn der Eventbutton in dem Eventloop ist, dann wird er gedrückt, er springt in den Case, dort wird er dann ausgelesen und dabei zurückgesetzt. Gut.

Danke Jens.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.06.2010, 12:18 (Dieser Beitrag wurde zuletzt bearbeitet: 15.06.2010 12:20 von Lucki.)
Beitrag #4

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Eventhandling - Bedienelemente außerhalb oder innerhalb?
' schrieb:Ist das nicht in einem normalen Loop auch so? Ich drück den Button und bei der nächsten Loop wiederholung wird er zurückgesetzt? Aso, aber bei den Events kann es natürlich etwas dauern bis das nächste Event stattfindet. Hm stimmt, andernfalls bleibt er dann gedrückt solang bis wieder ein Event stattfindet. Des is ja doofWink

Falsch, und hier verstehe ich Jens nicht wie er das gemeint hat:
Richtig: Das Rücksetzen findet dann erst beim nächten Schleifendurchlauf statt.
Falsch: Das Rücksetzen findet erst beim nächsten Event statt.
Denn es ist doch so: Beim nächsten Schleifendurchlauf wird wieder auf das nächste Event gewartet. Richtig - das kann dauern. In der Zwischenzeit versucht LV alles andere in der Schleife zu erledigen, was sonst noch an Code anliegt - also unter anderem wird es den Knpof lesen und rücksetzen. Es ist also ziemlich egal, wo man den Latch-Knopf in der Schleife mit der Ereignisstruktur positioniert - ob direkt im Ereigniscase oder nur in der Schleife. Wichtig ist nur, ihn nicht außerhalb der Schleife zu positionieren, in dem sich die Ereignisstruktur befindet.
Wenn es sich nicht um Boolsche Elemente mit Latch-Verhalten handelt, denn ist es durchaus normal, diese Elemente (wegen der guten Übersicht) noch außerhab der äußersten Programmschleife zu positionieren. Ich mache das auch so, und tue das Element nur dann an eine andere Stelle, wenn ich damit eine lokale Variable vermeiden kann.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.06.2010, 12:39 (Dieser Beitrag wurde zuletzt bearbeitet: 15.06.2010 12:40 von schurzgasschweisser79.)
Beitrag #5

schurzgasschweisser79 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 86
Registriert seit: Apr 2010

8.6
2010
de


Deutschland
Eventhandling - Bedienelemente außerhalb oder innerhalb?
Hm. Stimmt. Dann hat Jens mit Sicherheit gemeint, dass der Button solang gedrückt bleibt, wie die Operationen im Eventcase brauchen um fertig abgearbeitet zu werden. Und wenn das eine längere Angelegenheit ist, dann kann des schon etwas komisch ausschauen, wenn der Button die ganze Zeit reingedrückt bleibt.

Zitat:Ich mache das auch so, und tue das Element nur dann an eine andere Stelle, wenn ich damit eine lokale Variable vermeiden kann.
Kann man lokale Variablen nicht genau dann vermeiden, wenn man eben die Elemente ganz außen hat (weil dann kann man ja einfach ausgehend von da in die Programmtiefe hinein einen "Draht" legen...) . Oder meinst du in deinem Fall nur zur Übersicht, dass nicht soviele ewig lange Dräht irgendwo rumliegen?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.06.2010, 12:49 (Dieser Beitrag wurde zuletzt bearbeitet: 15.06.2010 12:57 von Lucki.)
Beitrag #6

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Eventhandling - Bedienelemente außerhalb oder innerhalb?
' schrieb:Kann man lokale Variablen nicht genau dann vermeiden, wenn man eben die Elemente ganz außen hat (weil dann kann man ja einfach ausgehend von da in die Programmtiefe hinein einen "Draht" legen...) .
Oh nein, das geht überhaupt nicht. Wenn sie ganz außen liegen, dann werden sie nur ein einziges Mal gelesen - endweder bei Start, oder (wenn freischwebend ohne Draht) sogar bei Stop des Programms. Dieser einmal gelesene Wert würde dann auch auf den angeschlossenen Draht übertragen, der Wert dort würde sich nie ändern, da kannst Du das Element bedienen so oft Du willst.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.06.2010, 13:46
Beitrag #7

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Eventhandling - Bedienelemente außerhalb oder innerhalb?
' schrieb:Hm. Stimmt. Dann hat Jens mit Sicherheit gemeint, dass der Button solang gedrückt bleibt, wie die Operationen im Eventcase brauchen um fertig abgearbeitet zu werden. Und wenn das eine längere Angelegenheit ist, dann kann des schon etwas komisch ausschauen, wenn der Button die ganze Zeit reingedrückt bleibt.
Genau das ist gemeint, Abarbeitung im Event dauert meinetwegen 200 ms, das sieht man als User. Reine Geschmackssache.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.06.2010, 14:11 (Dieser Beitrag wurde zuletzt bearbeitet: 15.06.2010 14:12 von Lucki.)
Beitrag #8

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Eventhandling - Bedienelemente außerhalb oder innerhalb?
Sicher ist das Geschmackssache, aber es spricht auch einiges dafür es anders zu machen. Wenn der Eventcase einige Zeit zur Abarbeitung braucht und der Auslöseknopf springt erst danach heraus, dann ist das nicht etwa blöd, sondern das ist ein sehr hilfreicher Hinweis an den User, daß die Abarbeitung noch läuft und er sich für das nächste Drücken noch etwas gedulden möge...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.06.2010, 14:59
Beitrag #9

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Eventhandling - Bedienelemente außerhalb oder innerhalb?
' schrieb:Sicher ist das Geschmackssache, aber es spricht auch einiges dafür es anders zu machen. Wenn der Eventcase einige Zeit zur Abarbeitung braucht und der Auslöseknopf springt erst danach heraus, dann ist das nicht etwa blöd, sondern das ist ein sehr hilfreicher Hinweis an den User, daß die Abarbeitung noch läuft und er sich für das nächste Drücken noch etwas gedulden möge...

Aber: Ein Event, das "länger" dauert, ist sowieso nicht die feine englische Art..."Langer" Code hat nüscht in nem Eventcase verloren! Basta!Tongue

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.06.2010, 15:14
Beitrag #10

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Eventhandling - Bedienelemente außerhalb oder innerhalb?
' schrieb:Aber: Ein Event, das "länger" dauert, ist sowieso nicht die feine englische Art..."Langer" Code hat nüscht in nem Eventcase verloren! Basta!Tongue
Genau so, und von daher gesehen war es falsch, daß ich diesen hingehaltenen Faden "..was ist, wenn es länger dauert.." überhaupt aufgenommen und weitergesponnen habe...
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
  Programmteil außerhalb der Ursprungsansicht alex-one 6 5.384 09.11.2022 17:03
Letzter Beitrag: alex-one
  RTF, HTML und PDF innerhalb von VI anzeigen achim @ FZK 5 4.486 17.05.2021 08:36
Letzter Beitrag: Zelos
  Bedienelemente platzieren Hubert R. 10 9.355 05.11.2020 10:10
Letzter Beitrag: Hubert R.
  variable Anzahl Bedienelemente TpunktN 4 3.678 19.08.2020 11:35
Letzter Beitrag: jg
  Bedienelemente bündeln zum Auslösen eines Events Marcusius 12 9.291 03.09.2019 17:24
Letzter Beitrag: Marcusius
Question (viele) Bedienelemente deaktivieren / aktivieren F.Bi 3 5.297 16.08.2018 12:59
Letzter Beitrag: GerdW

Gehe zu: