<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Queued Message Handler Template - User Event Registration in LabVIEW</title>
    <link>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/3343469#M982139</link>
    <description>&lt;P&gt;FWIW, we've adopted exactly the *opposite* habit as&amp;nbsp;&lt;EM&gt;crossrulz&lt;/EM&gt; and&amp;nbsp;&lt;EM&gt;Bob_Schor&lt;/EM&gt;, which is&amp;nbsp;&lt;U&gt;rarely&lt;/U&gt; the case. &amp;nbsp;We explicitly modified the QMH template from&amp;nbsp;LV 2013 to&amp;nbsp;separate event creation and event registration since our normal usage pattern for these system-wide events was to need many distinct registrations for each of the many parallel threads.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;We've finally started toward upgrading to LV 2016, where I see that the QMH template now does the same kind of separation. &amp;nbsp;It no longer returns an event registration refnum from the code that creates the system-wide events. &amp;nbsp;Either way can work if you keep your head straight, we just found the separation helpful as a reminder that *every* event handling loop would then be responsible for its own registration / deregistration.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;-Kevin P&lt;/P&gt;</description>
    <pubDate>Tue, 06 Sep 2016 16:33:05 GMT</pubDate>
    <dc:creator>Kevin_Price</dc:creator>
    <dc:date>2016-09-06T16:33:05Z</dc:date>
    <item>
      <title>Queued Message Handler Template - User Event Registration</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/3332754#M977813</link>
      <description>&lt;P&gt;Hello&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;After looking at the QMH template built into LabVIEW 2015 I have some concerns over the execution order of the lower 'message handler' loop and the point at which the Register for Events is called on the Stop User Event.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;IMG src="https://ip1.i.lithium.com/12e5cb7bc56a48c7ac7c88ca97937accf2c06ac1/68747470733a2f2f6e692e6c69746869756d2e636f6d2f74352f696d6167652f736572766572706167652f696d6167652d69642f31383733393669313936394441383433394141314138372f696d6167652d73697a652f6f726967696e616c3f763d76322670783d2d31" border="0" alt="QMH.png" title="QMH.png" /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It appears that the lower loop would technically be capable of firing the stop event before the register for events has actually been called meaning that this 'stop' event would not be captured by the underlying event engine.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am aware that this is very pedantic point given the performance of multi-core&amp;nbsp;processors but I feel that it might give users of the QMH the wrong impression of how to use more advanced event-based messaging.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My suggested fix would be to place both loops in a shared&amp;nbsp; 'Error/No Error' case structure after the register on events has happened.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would be interested in hearing other's opinions or if I am mistaken then I would appreciate being told where I am going wrong.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Cheers&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;John&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 09 Aug 2016 14:25:42 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/3332754#M977813</guid>
      <dc:creator>John_Neutron</dc:creator>
      <dc:date>2016-08-09T14:25:42Z</dc:date>
    </item>
    <item>
      <title>Re: Queued Message Handler Template - User Event Registration</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/3332778#M977822</link>
      <description>&lt;P&gt;The ways that the QMH gets the Exit Message, I believe, are (a) because the User pushed the Exit button, (b) did a Panel Close?, or (c) generated an Error that was set to "Exit if Error" (generating a Message to the QMH).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The first two are processed by the Event Loop, so normal Data Flow requires the Register for Events to have been done. &amp;nbsp;The Error situation requires processing by the QMH, including parsing at least two messages, Initialize and Exit, so only if NI's Round Robin parallel-loop time-slicing algorithm were really awful (or Register for Events took milliseconds instead of sub-microseconds) could this be an issue. &amp;nbsp;Attempting to remediate it, I suspect, would lead to really "ugly" code and could well introduce yet other subtle bugs.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Still, it is probably a Good Thing to have spotted this "potential" for a Race Condition. &amp;nbsp;If you are still concerned, put a 1 millisecond "Wait" between the Create User Event and Create All Message Queues.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Bob Schor&lt;/P&gt;</description>
      <pubDate>Tue, 09 Aug 2016 14:48:06 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/3332778#M977822</guid>
      <dc:creator>Bob_Schor</dc:creator>
      <dc:date>2016-08-09T14:48:06Z</dc:date>
    </item>
    <item>
      <title>Re: Queued Message Handler Template - User Event Registration</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/3332812#M977834</link>
      <description>&lt;P&gt;My 2c would be to put the register for events directly after the function which outputs the event itself (before any actual events can be triggered).&amp;nbsp; By introducing this data flow you are simply coding what is implied in the code, that any events triggered on that event will be registered for.&lt;/P&gt;&lt;P&gt;I don't think this leads to any bugs.&amp;nbsp; Add "Clear Errors" if that's a cause for concern.&lt;/P&gt;</description>
      <pubDate>Tue, 09 Aug 2016 15:29:56 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/3332812#M977834</guid>
      <dc:creator>Intaris</dc:creator>
      <dc:date>2016-08-09T15:29:56Z</dc:date>
    </item>
    <item>
      <title>Re: Queued Message Handler Template - User Event Registration</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/3332835#M977846</link>
      <description>&lt;P&gt;Thank you for your input.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am inclined to agree with Intaris that wiring up the register events after the Create Stop User Event vi is a pretty straight forward solution which enforces correct dataflow without excessive uglification.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I guess NI might review it but as&amp;nbsp;&lt;SPAN&gt;Bob Schor pointed out, it will always work so why would they change it?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;John&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 09 Aug 2016 16:02:20 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/3332835#M977846</guid>
      <dc:creator>John_Neutron</dc:creator>
      <dc:date>2016-08-09T16:02:20Z</dc:date>
    </item>
    <item>
      <title>Re: Queued Message Handler Template - User Event Registration</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/3332841#M977848</link>
      <description>&lt;P&gt;I think&amp;nbsp;drjdpowell has talked about race conditions with the QMH and with the (now fixed) DQMH, so it is perhaps a valid concern.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The problem would probably not be with the exit state, for the reasons Bob mentioned. But what if the developer calls the QMH externally followed by a new event "Init". You can argue that the "Init" code should be enqueued into the message loop when the QMH starts up, but it might have a parameter associated with it (e.g. VISA address for an instrument) so the developer thought it would be best to call the event from another VI and pass that parameter in. In this case, I think it is quite possible to generate the "Init" event before "Register for events" has occurred.&lt;/P&gt;</description>
      <pubDate>Tue, 09 Aug 2016 16:11:28 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/3332841#M977848</guid>
      <dc:creator>Gregory</dc:creator>
      <dc:date>2016-08-09T16:11:28Z</dc:date>
    </item>
    <item>
      <title>Re: Queued Message Handler Template - User Event Registration</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/3332853#M977852</link>
      <description>&lt;P&gt;My solution would be to have the Event Initialization VI also output the registration.&lt;/P&gt;</description>
      <pubDate>Tue, 09 Aug 2016 16:23:45 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/3332853#M977852</guid>
      <dc:creator>crossrulz</dc:creator>
      <dc:date>2016-08-09T16:23:45Z</dc:date>
    </item>
    <item>
      <title>Re: Queued Message Handler Template - User Event Registration</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/3343068#M981949</link>
      <description>&lt;P&gt;I talked about another potential race-condition weakness of the NI-QMH template in &lt;A href="https://www.youtube.com/watch?v=syVXofbwDYA" target="_self"&gt;"Design and Use of Queued Message Handlers"&lt;/A&gt;. &amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 05 Sep 2016 20:35:45 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/3343068#M981949</guid>
      <dc:creator>drjdpowell</dc:creator>
      <dc:date>2016-09-05T20:35:45Z</dc:date>
    </item>
    <item>
      <title>Re: Queued Message Handler Template - User Event Registration</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/3343076#M981954</link>
      <description>&lt;P&gt;Not only do I agree with Crossrulz (as is&amp;nbsp;&lt;U&gt;usually&lt;/U&gt; the case), it's "what I do". &amp;nbsp;I have a VI that initializes the User Events, and outputs&amp;nbsp;&lt;U&gt;both&lt;/U&gt; the User Event Queue&amp;nbsp;&lt;U&gt;and&lt;/U&gt; the User Event Refnum. &amp;nbsp;I wire the RefNum to the Event Loop Dynamic Event terminal, and wire the Event Queue to Generate User Event.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Bob Schor&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 05 Sep 2016 21:09:33 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/3343076#M981954</guid>
      <dc:creator>Bob_Schor</dc:creator>
      <dc:date>2016-09-05T21:09:33Z</dc:date>
    </item>
    <item>
      <title>Re: Queued Message Handler Template - User Event Registration</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/3343469#M982139</link>
      <description>&lt;P&gt;FWIW, we've adopted exactly the *opposite* habit as&amp;nbsp;&lt;EM&gt;crossrulz&lt;/EM&gt; and&amp;nbsp;&lt;EM&gt;Bob_Schor&lt;/EM&gt;, which is&amp;nbsp;&lt;U&gt;rarely&lt;/U&gt; the case. &amp;nbsp;We explicitly modified the QMH template from&amp;nbsp;LV 2013 to&amp;nbsp;separate event creation and event registration since our normal usage pattern for these system-wide events was to need many distinct registrations for each of the many parallel threads.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;We've finally started toward upgrading to LV 2016, where I see that the QMH template now does the same kind of separation. &amp;nbsp;It no longer returns an event registration refnum from the code that creates the system-wide events. &amp;nbsp;Either way can work if you keep your head straight, we just found the separation helpful as a reminder that *every* event handling loop would then be responsible for its own registration / deregistration.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;-Kevin P&lt;/P&gt;</description>
      <pubDate>Tue, 06 Sep 2016 16:33:05 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/3343469#M982139</guid>
      <dc:creator>Kevin_Price</dc:creator>
      <dc:date>2016-09-06T16:33:05Z</dc:date>
    </item>
    <item>
      <title>Re: Queued Message Handler Template - User Event Registration</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/3343546#M982179</link>
      <description>&lt;P&gt;I agree with the spirit of this suggestion. Even though I've never seen a bug attributed to this issue, it is still possible that it could occur. What do y'all think about me fixing it with this Merge Errors approach in LabVIEW 2017?&lt;/P&gt;
&lt;P&gt;&lt;IMG src="https://ip1.i.lithium.com/64be0ef0bbbdcf670b5ffc2543e71513169b428a/68747470733a2f2f6e692e6c69746869756d2e636f6d2f74352f696d6167652f736572766572706167652f696d6167652d69642f31383836333469323445353130394237434136414330362f696d6167652d73697a652f6f726967696e616c3f763d76322670783d2d31" border="0" alt="q.png" title="q.png" /&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 06 Sep 2016 19:46:39 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/3343546#M982179</guid>
      <dc:creator>Darren</dc:creator>
      <dc:date>2016-09-06T19:46:39Z</dc:date>
    </item>
    <item>
      <title>Re: Queued Message Handler Template - User Event Registration</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/3343643#M982203</link>
      <description>&lt;P&gt;I like it.&amp;nbsp;If I understand user events correctly I would agree with Kevin to keep the creation and registration separate as well.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;My understanding is that if you&amp;nbsp;want to add another event handling loop somewhere later in this application which is also looking for this global stop user event, you would have to register for the user event separately before that event structure instead of using the same registration refnum. I think&amp;nbsp;the example as-is would do a better job at showing how there should be a unique Register for Events function for each event handler. Probably doesn't matter either way but those are my thoughts.&lt;/P&gt;</description>
      <pubDate>Tue, 06 Sep 2016 23:54:54 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/3343643#M982203</guid>
      <dc:creator>Jacobson-ni</dc:creator>
      <dc:date>2016-09-06T23:54:54Z</dc:date>
    </item>
    <item>
      <title>Re: Queued Message Handler Template - User Event Registration</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/3343661#M982211</link>
      <description>&lt;P&gt;What I typically do is have a library for the event with an Action Engine to keep the reference for the User Event.&amp;nbsp; I then have public methods for registering for the event and sending the different commands (only 1 in this case), and another one for destroying the User Event.&amp;nbsp; Then anybody can send the message and it (almost) forces a different registration for each module you have.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;But for the sake of the example, I would say Darren's fix would be the best solution.&amp;nbsp; I would rather not complicate an example with libraries, etc.&amp;nbsp; Now for project templates, that is a slightly different story.&lt;/P&gt;</description>
      <pubDate>Wed, 07 Sep 2016 01:55:58 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/3343661#M982211</guid>
      <dc:creator>crossrulz</dc:creator>
      <dc:date>2016-09-07T01:55:58Z</dc:date>
    </item>
    <item>
      <title>Re: Queued Message Handler Template - User Event Registration</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/3343665#M982213</link>
      <description>&lt;P&gt;This is the QMH project template. But I doubt I'll get easy buy-in on an expansive change like what you describe, which is why I'm hoping the Merge Errors fix is a good compromise.&lt;/P&gt;</description>
      <pubDate>Wed, 07 Sep 2016 02:48:30 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/3343665#M982213</guid>
      <dc:creator>Darren</dc:creator>
      <dc:date>2016-09-07T02:48:30Z</dc:date>
    </item>
    <item>
      <title>Re: Queued Message Handler Template - User Event Registration</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/3343975#M982331</link>
      <description>&lt;P&gt;I have filed CAR 603854 to add the Merge Errors to the QMH Main VI in a future LabVIEW release.&lt;/P&gt;</description>
      <pubDate>Wed, 07 Sep 2016 15:58:24 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/3343975#M982331</guid>
      <dc:creator>Darren</dc:creator>
      <dc:date>2016-09-07T15:58:24Z</dc:date>
    </item>
    <item>
      <title>Re: Queued Message Handler Template - User Event Registration</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/3344026#M982348</link>
      <description>&lt;P&gt;I typically use User Events in multiple loops and subVIs. To make sure those VIs are active and listening I use a modified version of something Hoovah created. In the example I am waiting for 3 loops to become active, a UI, Instrument, and Data loop. The vi will run until it timeouts or the active event loops are found. See snippet and subVI. Link to Hoovahs orginal version in VI.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;IMG src="https://ip1.i.lithium.com/0862b9412ea5408ac5c62be5560f2792f5c33c28/68747470733a2f2f6e692e6c69746869756d2e636f6d2f74352f696d6167652f736572766572706167652f696d6167652d69642f31383836383969454143313639323038363536393239332f696d6167652d73697a652f6f726967696e616c3f763d76322670783d2d31" border="0" alt="EventChecker.png" title="EventChecker.png" /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;mcduff&lt;/P&gt;</description>
      <pubDate>Wed, 07 Sep 2016 17:26:13 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/3344026#M982348</guid>
      <dc:creator>mcduff</dc:creator>
      <dc:date>2016-09-07T17:26:13Z</dc:date>
    </item>
    <item>
      <title>Re: Queued Message Handler Template - User Event Registration</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/3635238#M1020761</link>
      <description>&lt;P&gt;CAR 603854&amp;nbsp;was fixed in LabVIEW 2017. See the 2017 LabVIEW Bug Fix List for details: &lt;A href="http://www.ni.com/product-documentation/53584/en/" target="_blank"&gt;http://www.ni.com/product-documentation/53584/en/&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 26 May 2017 13:13:52 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/3635238#M1020761</guid>
      <dc:creator>ChrisStrykesAgain</dc:creator>
      <dc:date>2017-05-26T13:13:52Z</dc:date>
    </item>
    <item>
      <title>Re: Queued Message Handler Template - User Event Registration</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/4026175#M1153328</link>
      <description>&lt;P&gt;As the beginner of user event, I have a question on the design pattern.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I focused on the Exit logic in Queued Message Handler design pattern of Labview (2018).&lt;BR /&gt;When exiting the program, the exit&amp;nbsp;event was sent by using user event from the below loop to event loop, and then received again in the below loop .&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Is there some special reason or advantage for that?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am studying the user event but I cannot imagine when I can use the technique in my level.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;labmaster.&lt;/P&gt;</description>
      <pubDate>Thu, 19 Mar 2020 09:27:24 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/4026175#M1153328</guid>
      <dc:creator>labmaster</dc:creator>
      <dc:date>2020-03-19T09:27:24Z</dc:date>
    </item>
    <item>
      <title>Re: Queued Message Handler Template - User Event Registration</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/4026310#M1153430</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://ni.lithium.com/t5/user/viewprofilepage/user-id/75897"&gt;@crossrulz&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;My solution would be to have the Event Initialization VI also output the registration.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Though some versions ago (i think it works better now), changing the registered events broke the indicator forcing you to recreate stuff. This could be quite annoying if you passed it through some VIs.&lt;/P&gt;
&lt;P&gt;I think it works a lot better since ... 2015(?)&lt;/P&gt;
&lt;P&gt;/Y&lt;/P&gt;</description>
      <pubDate>Thu, 19 Mar 2020 12:38:58 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/4026310#M1153430</guid>
      <dc:creator>Yamaeda</dc:creator>
      <dc:date>2020-03-19T12:38:58Z</dc:date>
    </item>
    <item>
      <title>Re: Queued Message Handler Template - User Event Registration</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/4026312#M1153432</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;a href="https://ni.lithium.com/t5/user/viewprofilepage/user-id/16812"&gt;@labmaster&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;I focused on the Exit logic in Queued Message Handler design pattern of Labview (2018).&lt;BR /&gt;When exiting the program, the exit&amp;nbsp;event was sent by using user event from the below loop to event loop, and then received again in the below loop .&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;I'd assume it's a fail safe/double whammy. Regardless if the command initiates in the event or queue part, it sends to the other to make sure it stops. This is probably in case something else than the intended commands stop the loops.&lt;/P&gt;
&lt;P&gt;/Y&lt;/P&gt;</description>
      <pubDate>Thu, 19 Mar 2020 12:45:30 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/4026312#M1153432</guid>
      <dc:creator>Yamaeda</dc:creator>
      <dc:date>2020-03-19T12:45:30Z</dc:date>
    </item>
    <item>
      <title>Re: Queued Message Handler Template - User Event Registration</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/4026407#M1153476</link>
      <description>&lt;P&gt;I guess if you have multiple ways to stop the application and they all use the same user event, the application will stop "the same way" all the time.&lt;/P&gt;</description>
      <pubDate>Thu, 19 Mar 2020 17:34:15 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Queued-Message-Handler-Template-User-Event-Registration/m-p/4026407#M1153476</guid>
      <dc:creator>billko</dc:creator>
      <dc:date>2020-03-19T17:34:15Z</dc:date>
    </item>
  </channel>
</rss>

