LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

user event with no data

Solved!
Go to solution

I am just starting out using custom user events.  It seems straightforward to create one, but it seems that the "Create User Event" block diagram object rather presumptiously assume that I must want to have some data associated with the event.  Sometimes one does, of course, but other times, it is sufficient to merely know that the event occured.

 

I think it's rather silly for me to create a bunch of dummy datatypes for events that don't require data.  Is there a way to do this?

 

Thanks.

0 Kudos
Message 1 of 3
(3,070 Views)

Personally, I use an event to stop my applications usually. When I register this stop event, I just use a boolean even though I never read that value of boolean.

 

You don't have to create a bunch of dummy datatypes, you can just use a boolean (or whatever you want) for them all.

Cheers


--------,       Unofficial Forum Rules and Guidelines                                           ,--------

          '---   >The shortest distance between two nodes is a straight wire>   ---'


0 Kudos
Message 2 of 3
(3,069 Views)
Solution
Accepted by rothloup

You never know when you might want to pass data, or maybe pass more data than you already are.  So in my designs I usually have an empty variant as the default data, but have this variant be a type def.  That way in the future if I have some settings I want I can update the type def (that is a variant) with the real data I care about.  Or even pass data in the variant as variant attributes.  Maybe I want to tell my exit command to have a timeout on killing some other tasks, or maybe I want to tell my exit to do a taskkill, or who knows.  And if that variant attributes aren't there then just exit like normal.  My point is in the future I may want to send some kind of data along with the command to do stuff.  

 

There have been times in the past when I throught "I'm never going to need to send any extra data".  Like one time I sent a command back to a caller VI to close a floating window, and insert it into a subpanel.  Then I realized I might want to send a command to pull the VI out of the subpanel and make it floating so I added a boolean.  True means pull it out, False means put it in.  Then I realized I may want to command the window a position and size to pull it out to.  Eventually I made it into a type def, but in this case I should have done this from the start.

Message 3 of 3
(3,058 Views)