It's been a while, so I don't remember all the details, but I believe the actual *problem* I had was that the event structure was getting stuck waiting for a timeout even though it shouldn't have. The resulting debugging/discussion led to the lost events issue.
If memory serves, there's an important point re. the points you highlighted from Steve's guess (at least it would be important if splitting reg refnums was valid. As it stands it's a pure implementation detail) - the actual event data is only removed when the event is finished (due to filter events, if memory serves). That means that the same event MAY be processed by 0 or more structures ("or more" meaning more than 1 as well). The thread I linked to is full of details (including an image of the example code), which are pretty unimportant, seeing how we're never supposed to run into these issues.
Ok, I think I get the problem then....
Splitting a registered refnum to more than one Event structure MAY lead to more than one Event structure getting the event when in theory it should only go to zero or one. Hmm, interesting.
I don't see where that might impact my coding, but it's always to know the limits where LV starts doing things it's not supposed to. Once in a blue moon this information may come in handy, even if it's only to produce a "but how...." moment at the water-cooler (Virtual water-cooler in my case) 😄
Iam trying to work to handle events in both subpanel vi and main vi.
I have a main program, and 2 sub vi. I will load the sub VI in 2 sub panels in main vi. Each sub pael vi has controls on it.
I have created 2 User events for 2 sub panels vi. One user event consits of a Cluster with 2 Booleans (x & Y) and Other User Event consists of cluster of 2 unsigned 8 Numbers (a & b). These are created and registered in the main Vi and event register refnum is passed to the subpanel vi from the main panel vi.
I have Event structure in main panel and sub panel vis.
In one sub panel vi,
When the value of one boolean(i.e. X) in the clusters changes, the Events structure in sub panel vi should perform some operation in sub panel vi only. When the value of other boolean (i.e. Y) changes it should perform some operation in main vi. I will try to Generate user event with the x value and Y value changed based on the control clicks in the sub panel vi.
The OTher panel vi should behave in the smae way when the a & b value changes.
The "Generate User Event" is working fine some times and sometimes there in no event triggered in the sub panel vi or main vi.
Please let me know what is the problem
Would it be possible for you to upload a simplified version of your VI? It may help to be able to see exactly how everything is set up with the references and event structures.
As well, you may be better served if you created a new forum post instead of adding onto this one. Newer forum posts tend to get more responses, and it's possible that another user has implemented something similar to what you're discussing.