LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

event structure bug?

I'm not sure if this has been posted before (about 4400 hits came up for "event structure bug"):

Start with a blank VI, drop an event structure, add dynamic registration terminals, add and wire register, unregister for events.

Next, drop two "create user event" vis and wire a plain boolean constant to each (that's one per "create" vi), then name each (e.g. "bool1" and "bool2"). Wire the create event outputs to "register for events".

Now, go to edit the events handled by the event structure (should be timeout by default), select the first user event (instead of timeout), then add (as a second event) the other user event. Click OK, then voila! The first user event you chose is listed twice in the event case heading (, for th
e naming above).

Also, if you try to resize the Source, Time, Type terminal, the vi breaks (non-executable). If you try to re-edit the events for the case, only the first user event is listed.

--Omar

(I still think User Events are pretty cool!)
0 Kudos
Message 1 of 4
(2,980 Views)
User events seems to be a bit bug-infected, it's e.g. very sensitive to what and when you wire to the create user event function.

When I tried to recreate your problem I was unable to, probably because I named the boolean constants before wiring them. Then I tried deleting the constants and wire an unnamed boolean constant to the first create function - and voila, LV crashed. I've seen similar behaviour earlier; LV often crashes if it does not like the inputs to the create user event function. Yes you need to name the constant correctly, but you should be able to do that *after* wiring it without LV crashing...

Their cool though, I agree:-)
0 Kudos
Message 2 of 4
(2,980 Views)
Hi Omar,

I also tried to follow your steps but could not reproduce the behavior. May be there's a step that's missing.

Feroz
0 Kudos
Message 3 of 4
(2,980 Views)
Maybe I didn't make it so clear, but I mean that both user events should be handled by the same event case, not one per case. That is, instead of handling a single timeout event, configure the case for both user events.

When I finished that, the case heading read ", : User Event" (no quotes), even though the boolean constants had different names.

It's insensitive to whether you copy the first boolean constant to get the second, or if you also drop the second from the palette.
0 Kudos
Message 4 of 4
(2,980 Views)