f



"Key Down" event use in one page of tab control prevents using "Value Change" events on another page, even though separate case structure blocks handle the two

The attached VI has a tabbed control with two pages. On one page, titled "Using Value Change Events", there is a control and an indicator, and the underlying code processes a Value Change event on that control by adding one to the number and displaying it on the indicator. On the other page, titled "Using Key Down Events", there is an indicator, and the underlying code processes a Key Down event by displaying the scancode on the indicator. Both these underlying code blocks are in different cases of a case structure chosen by the tab control. Some extra items are necessary to be able to stop those blocks from cycling if the tab is switched or the End VI button pressed.
 
Or, at least, that's what I wanted.
 
What actually happens agrees with the above, if the Increment/Decrement is used to change the value in the control on the Value Change page. But everything stops responding if I type in the control to change the number.
 
I think the problem involves the Key Down event structure, which is in what should be an inactive case of the case structure when this problem occurs. If I put a Disable structure around that Key Down event structure, the Value Change page items all work fine. Of course, the Key Down page items don't do anything with the Disable in place.
 
Why does having a Key Down event handler in an inactive case structure make a difference? How can I use both event types on different pages of a tabbed control?
 
Thanks!!


KeyDownBlocksValueChange.vi:
http://forums.ni.com/attachments/ni/170/329659/1/KeyDownBlocksValueChange.vi
0
x9561 (148440)
6/6/2008 9:40:05 PM
comp.lang.labview 35213 articles. 1 followers. vasusachin24 (1) is leader. Post Follow

5 Replies
1132 Views

Similar Articles

[PageSpeed] 24

Placing an event structure inside a case statement does NOT disable that event structure. Each event structure is always active and capturing events. Right click on the event structure and select Help and then click on the 'caveats and recomendations for using events' link.
0
x9561 (148440)
6/6/2008 10:10:06 PM
If you want to disable an event structure you should use '<a href="http://forums.ni.com/ni/board/message?board.id=170&amp;message.id=242266&amp;query.id=94701#M242266" target="_blank">Dynamic Event Registration</a>' Ton
0
x9561 (148440)
6/7/2008 7:10:06 AM
You need to learns the magic of dataflow and simplify your code. It is extremely convoluted.
All you need is a single while loop and a single event structure with all the cases you need (including stop). The case structure is completely useless because the code does not need to change based on tab state.&nbsp; The value change event can only happen on one tab state anyway. You can check it&nbsp;a the "key down" filter event and ignore it if the tab&nbsp;control&nbsp;is on the wrong tab.
Also none of your local variables are needed, just connect the controls and indicators directly to the wires. (You are still stuck in a text programming mode).
0
x9561 (148440)
6/8/2008 4:40:04 PM
Here's a quick modification how you could do it quite a bit more streamlined!
(no locals, one event strucuture, one loop, one simple case structure, no timeout case, understandable code).
See if it makes sense. Modify as needed.&nbsp;:)


KeyDownBlocksValueChangeMOD.vi:
http://forums.ni.com/attachments/ni/170/329784/1/KeyDownBlocksValueChangeMOD.vi
0
x9561 (148440)
6/9/2008 2:40:05 AM
Thanks, everybody.
Especially, altenbach, I see how much cleaner your vi is. It didn't occur to me my event handlers could be making the choices my case structure was. My example is a proxy for a more complicated real-life situation, not surprisingly. The rules for exiting activities in my tab control cases are different for the different cases and depend on other variables. I'm rethinking the basic logic of it all. Maybe I can do it all with just event handlers, or maybe do the logic of the user interface with event handlers and do the big&nbsp;work of the system elsewhere, someplace consuming the choices produced by the user interface.
The change from text programming has been slow.&nbsp;While loops and for&nbsp;loops elsewhere are checking and sometimes changing values for what seem like given physical experimental reasons. It seems like this keeps forcing values to involve variables and not just dataflow, but then everything keeps looking more and more like variable-based thinking.&nbsp;Does this mean this particular situation really needs variables, or that&nbsp;I'm getting stuck in non-dataflow thinking? It's not that easy to tell yet.
Also, thanks all for the correction about how events work. There is certainly a way to fix what I originally identified as the problem, IF it still looks like that's the wisest thing to be doing.
This is a lot to think about.
0
x9561 (148440)
6/9/2008 1:10:05 PM
Reply:

Similar Artilces:

How can I use an iteration value from a &quot;while&quot; (or &quot;for&quot;) loop as part of a filename?
I am using the "Write To Measurement File" function&nbsp; inside a while structure and would like to incorporate the iterative value from the while-loop as part of the file name. I'm not sure how to do it. Any suggestions? &nbsp; ...

How to use &quot;GetLastInputInfo&quot; in &quot;user32.dll&quot;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Hi, &nbsp; I need to logout user if he doesn't make action during 5 minutes, "GetLastInputInfo" method in the "user32.dll" library, return the tick of the last action, so I can&nbsp;know the inactivity time of the login user. &nbsp; But I try to using "Call Dll function" item in Labview 8.1, and each time I run VI, Labview crash. &nbsp; Next, is information about the method : &nbsp; DLL###############################User32.dll &nbsp; Syntax###############################BOOL GetLastInputInfo(PLASTINPUTINFO plii); &nbsp; Parameters###############################plii : [out] Pointer to a LASTINPUTINFO structure that receives the time of the last input event. Private Type LASTINPUTINFO &nbsp;&nbsp;&nbsp; cbSize As Long &nbsp;&nbsp;&nbsp; dwTime As Long End Type Return Value###############################If the function succeeds, the return value is nonzero.If the function fails, the return value is zero. &nbsp; Remarks###############################This function is useful for input idle detection. However, GetLastInputInfo does not provide system-wide user input information across all running sessions. Rather, GetLastInputInfo provides session-specific user input information for only the session that invoked the function. &nbsp; You can see also my VI source. &nbsp; GetLastInputInfo.vi: http://forums.ni.com/attachments/ni/170/31...

The use of the &quot;XY graph&quot; with the &quot;Read Traces&quot;
Hi, I'm trying to plot on "XY Graph"&nbsp; some informations wich are taken directly from the "Read Traces", and the problem is that the Start timestamp wich i enter to the "Read Traces" don't correspond to the beginning of the X axeof the graph. Can some one help me please. Question pour le forum NI.doc: http://forums.ni.com/attachments/ni/170/334716/1/Question pour le forum NI.doc Hi basile Have you found an issue about your problem? Could you attach you code(.vi) please? Thanks. Regards. Hi&nbsp;&nbsp; R_DUVALThank you for your help but I found the solution to my problem.Best Regards ...

How to change &quot;ASRL2:... &quot; to &quot;COM1&quot;?
Dear All, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I have used com port in my vi. And When I run it in edit mode,&nbsp;the selection of com displays "COM1,COM2,LTP1". &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; But when I build it, and run it in another PC, it displays "ASRL2:...". &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; How can I modify my vi to make it display COM1... in another PC? &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; And If I only want to display all serial port such as COM1,...

Adding an &quot;IMAQ Image.ctl&quot; to the &quot;Display State.ctl&quot; of an XControl prevents LabVIEW from creating a probe of &quot;Display State.ctl&quot;
I am working on an extended IMAQ Display control using LabVIEWs XControl capabilities. &nbsp; I need a copy of the original image passed to add some overlays which must not affect the original image. To achieve this I am creating a backup image in the "Init.vi" and deleting it in the "Uninit.vi". I am storing the reference&nbsp;of this image&nbsp;in the "Display State.ctl" which is part of every XControl. &nbsp; As soon as I am adding an "IMAQ Image.ctl" to the Display State cluster, it is no longer possible to generate a probe of the Display State cluster for debugging purposses. I am always getting the message: "Failed to load or create probe." Deleting the "IMAQ Image.ctl" from the cluster makes the probe working again. &nbsp; Is it a bug or am I doing something wrong? &nbsp; I am working with LabVIEW 8.5 and Vision 8.5. &nbsp; Regards &nbsp; Ingo Bartsch Hello Mr. Bartsch, is it possible for you to post a small example to reproduce the behaviour? It would be helpful to get a description in which way you use the typedef files. I found a example/knowledge base where some informations were included to XControl and LV but not with Vision. <a href="http://digital.ni.com/public.nsf/allkb/1DC1ADD2A136DA298625712C00635758?OpenDocument" target="_blank">http://digital.ni.com/public.nsf/allkb/1DC1ADD2A136DA298625712C00635758?OpenDocument</a> Best wishes Ja...

Problems with "&amp;" changing to "&"
A lot of Firefox users I know, says they have problems with validation where the ampersand sign has to be written as &amp; to be valid. I don't have Firefox my self and don't wont to install it only because of this, so I hope some of you gurus can enlighten me with this :) In what circumstances can the "&amp;" in the source code be involuntary changed to "&" by a browser when or other software, when editing and uploading the file to the web server? E.g. writing a string like "sc_project=402887&amp;java=0&amp;security" is cha...

&quot;re-entrant&quot; &quot;file I/O&quot; &quot;QSM_State Machines&quot;
&nbsp; &nbsp; I have trouble with writing (appending) to text file in a QSM that is in an "occurence mode" of operation whereby the queue waits for outside engueue to go ahead and do a task. The task is simply to write to a file a line of text. &nbsp; Outside producers give the queue its go ahead and data is sent along etc... &nbsp; WHat I am seeing in the logging functions are multiple errors (Error 1) Somehow Labview&nbsp;is not noticing that the reference is valid or it is invalidating the reference. &nbsp; Q is Should I just let the QSM loop to keep it alive and would that work? &nbsp; What is the rule concerning queue waiting for an event? Does the VI get flagged as idle and is that why the ref appears to be dropped?&nbsp; THere is no reason I can think of for the ref to be dropped. It is opened in the init frame then kept in a shift register. and available at each iteration in the QSM. &nbsp; The example works in a simple loop but not a loop that is waiting on an occurence.&nbsp; Why? &nbsp; The only work around I can manage is to use the path and open the reference when it is not valid which feels kind of&nbsp; silly if you get my drift &nbsp; Anyone seen this before? &nbsp; Thank You &nbsp; &nbsp; &nbsp; ...

Acqiuring data in &quot;Idle&quot; case and &quot;Go&quot; case
See SM Tester Bill 8-16-07 in the attached llb. &nbsp; On the block diagram, upper while loop, case "Idle" I have a Daq&nbsp;sub vi that displays the value on the front panel in a cluster on the front panel. (Works great) This allows the user to see the readings of the devices when they are mounting the pecimen under test.&nbsp; &nbsp; Next, I want to use the same Daq sub vi to display the data (to the same cluster on the fromt panel)&nbsp;&nbsp;for the&nbsp;"Go" case. In addition, I want the data collected in the "Go" case to be saved to a file. The intent is to collect the data as the motor moves. &nbsp; If I place my Daq sub vi in the "Go" case the data isn't collected because the "SM Move" vi then runs.&nbsp; If I place the Daq sub vi in the "SM Move" vi, the cluster appears on the front panel of the "SM Move" vi, not the main panel.&nbsp; &nbsp; Can someone suggest some good programming practices? &nbsp; Thanks, &nbsp; Bill SmartMotor.llb: http://forums.ni.com/attachments/ni/170/265911/1/SmartMotor.llb Hi Bill, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I looked at your code (there are a few missing&nbsp;"SER"ial-port related VI, nothing serious)&nbsp;and have a question before suggesting a solution:&nbsp; I want the data collected in the "Go" case to be saved to a file. The intent is to collect th...

How do I disable the Dialog Box Pop Up when using the &quot;Open/Create/Replace File&quot; VI?
I would simply like to write data in real-time to a file without the operator being prompted by a Dialog Box. Please see attachment for the code I used. &nbsp; Thank you! LabVIEW_Write To File Code.doc: http://forums.ni.com/attachments/ni/170/243833/1/LabVIEW_Write To File Code.doc Try putting the entire path including the file name (and not just the folder) as a path constant (and not use the string to path function) to the file path input. &nbsp; <img src="http://forums.ni.com/attachments/ni/170/243916/1/Open_Create_Replace.PNG"> Message Edited by Dennis Knutson on 04-25-2007 01:37 PM Open_Create_Replace.PNG: http://forums.ni.com/attachments/ni/170/243916/1/Open_Create_Replace.PNG Dennis Knutson wrote: Try putting the entire path including the file name (and not just the folder) as a path constant (and not use the string to path function) to the file path input. Dennis, Good lesson for me ! :smileyhappy: I m also not familiar with this thing of putting the entire path of a file, even if I wire a False to the Advisory Dialog inout. I thought that it is the maximum feasibility in LV. You opened my eyes &amp; brain. :smileywink: ...

VI &quot;FindInstrumentDrivers.vi&quot; was stopped at node &quot;&quot; at a call to &quot;IDF_WsIdOpen.vi&quot;
This what I get trying to download Instrument Drivers in LabVIEW 8.2. LabVIEW 8.6 doesn't succeed either. any ideas? Could just be an intermittent server problem. Does this happen all the time? At what point does it fail? When you first launch it, after you login? The network traffic indicates that it uses port 3339. Is this being blocked by your firewall? ...

Programmatic &quot;undo&quot; for &quot;FitControlToPane&quot; ?
Howdy neighbors!, (using LV8.2)&nbsp; I'm trying to develop a GUI that lets the user toggle a Tab-control between "Full Pane" and a&nbsp;reduced size/position - sorta-like&nbsp;the "Full Screen" option on many Video apps.&nbsp; The effect of the&nbsp;invoke-node method "FitControlToPane" is perfect (- :smileyhappy: -), but how to undo that effect?&nbsp; After&nbsp;FitControlToPane,&nbsp;"Scale Object with Pane" is selected in the IDE, yet I can't find a "property" for it. :smileysad:&nbsp; FitControlToPane also changes the visibility of vertical and horizontal scroll-bars - are these [VI Properties] programmatically settable? &nbsp; Cheers! &nbsp; &nbsp; &nbsp; follow up... FitControlToPane also changes the visibility of vertical and horizontal scroll-bars - are these [VI Properties] programmatically settable? Feel kinda silly now, having advised someone else to search LabVIEW's HELP first! :smileytongue: &nbsp;- found Scrollbar Visibility can be set via (LV8.2)\ VI \Panel(reference)\Panes[0].HorizScrollbarVisibility. <img src="http://forums.ni.com/attachments/ni/170/239318/1/ScrollBar.JPG"> Still hunting for an&nbsp;elusive "Set Scaling Mode" method... (The&nbsp;Tab Control's&nbsp;"AutoGrow?" property doesn't seem to do anything!?)Message Edited by tbd on 04-03-2007 12:56 AM ScrollBar.JPG: ht...

'&&&&a'="&&&&a."
I need a data step that is equivalent to data _NULL_; file print; put '&&&&&&a=' "&&&&&&a"; run; Yet the number of & is a variable, I need to write a Macro, so far I got only half of the code('&&&&&&a.='), I don't know how to put the other half ("&&&&&&a.") into Macro Thanks. %Macro R(k); data _NULL_; file print; put %do i= 1 %to &k.; '&' %end; 'a=' ; run; %mend; %R(10); ==================================================...

why should one use "&" in "const char*const& szString"
Can some one explain me why should one use this construction. Is there any need for "&" ? Is there any difference between those 2 options: (excluding that in first case *szString is passed by value and in second - by reference): 1) const char*const& szString 2) const char*const szString Thanks is andvance alariq wrote: > Can some one explain me why should one use this construction. Is there > any need for "&" ? > Is there any difference between those 2 options: (excluding that in > first case *szString is passed by value and in second - by refer...

&quot;VI was stopped at node &quot; &quot; at a call to &quot;In Port Old 6.x.vi&quot;&quot;
Hi. I am having problems with&nbsp;a VI&nbsp;that was initially developed for LABView 6i. I have upgraded to LABView 8.2 but whenever I run the program in LABView 8.2 I get the error message that my VI was stopped at node&nbsp; " " at a call to "In Port Old 6.x.vi". The VI generally aquires data from a measurement instrument via an RS232 COM port. I have searched the forum and the only reference to this problem mentioned that it can be solved by making "minor modifications" to the polymorphic In Port VI in LABView 8.2 but I have no idea how to do this. &nbsp; I would be most grateful if anyone can help me to do this. I am a newbie to LABView programming so I would require as much detail as possible. Thanks. &nbsp; tronix Hello, &nbsp; Have you followed the guidelines found on this document? &nbsp; <a href="http://digital.ni.com/public.nsf/allkb/39129B46944215B686257069006CEC4E?OpenDocument" target="_blank">http://digital.ni.com/public.nsf/allkb/39129B46944215B686257069006CEC4E?OpenDocument</a> &nbsp; Contains information on how to proceed and how you can change the VI's needed to new ones. &nbsp; Hopes this helps! Hello. Thanks for your response. I did see the link. Part of the document says: tronix wrote: Hi. I am having problems with&nbsp;a VI&nbsp;that was initially developed for LABView 6i. I have upgraded to LABView 8.2 but whenever I run the program in L...

how to connect &quot;IMAQ Get Buffer.vi&quot; output terminal of &quot;Image Out&quot; to the input terminal of &quot;Image&quot; of &quot;IMAQ ColorImageToArray.vi&quot;
Hi, Thanks a lot for helping me till this stage.I am again stuck up with some problem.Please help me this time also. Actually i am making changes in already existingblock diagram and also i am new to this labview programming.And also time is very crucial. So i want to know if there is any way to connect the output of Image out terminal of IMAQ Get Buffer.vi to the input terminal of Image of IMAQ ColorImageToArray.vi. In the actual block diagram the output of Image out terminal of IMAQ GetBuffer.vi is connected to the input terminal of Image of IMAQ ImageToArray.vi. I want to change this becos i want to take RGB image as input and seperate R, G, B components. Please explain in terms of bloack diagram. ...

"&prock", not "&block"
In all of the code below, "prock" by itself is always a proc, while the combination "&prock" is always a block: def my_proc &prock # accepts a block prock # returns a proc end prock = my_proc { p "Hello, world" } prock.call def doit &prock # param is redundant, but illustrative yield # yields to &prock, a block end doit &prock # same as 'doit { p "Hello, world" }' So, it seems to me that "prock" above is distinctly clearer than "...

&quot;Save measurement to file&quot;-VI doesn't obey the &quot;Use next avaible file name&quot; setting
I'm using this express VI to store data. In it's properties, there's the "If a file already exists: Use next avaible file name" radio box which does not work. Instead, it appends everything to the one file it created on the first run. My VI has a while-loop with an embedded flat sequence with the writing-VI being in the last frame of the flat sequence. LV 8.5, Linux Hi There. Could You make a screendump of Your VI? I tried using the Express VI on both LV7 Express (Base,Win), and LV8.5 (Base, Win) , and it works perfectly.... &nbsp; I've attached my VI. Currently, the save-VI gets it's file name from some other VIs, but I do that because it doesn't work otherwise. When I clear the "Filename"-input, it starts appending. Messapplikation ganz anders.vi: http://forums.ni.com/attachments/ni/170/313764/1/Messapplikation ganz anders.vi Hi ReBoot I think i've found the Source of Error......When You generate the filepath You use a Concatenate strings with a Constant stating "Files/file" the problem her is the "/". It might be that it should be a Backslash "\"...... Try it.... Best Regards BCL &nbsp; No no, everything's fine as it is. The problem starts when I remove the Filename-input from the Save-VI. Then the Save-VI refuses to take the next avaible file name. However, I'd like to be able to remove all this filename-code and let the Save-VI handle all the file naming. Hi ReBoot, how...

plug-in &quot;not installed&quot; in my LabVIEW project's &quot;Build Specifications&quot;
I moved my LabVIEW project from one computer to another, now when I click on any item under the project's "Build Specifications", I get an error reading "The plug-in for the selected item is not installed on your system." Does anybody know how to fix this? I have no idea what this "plug-in" is.Attached is a screenshot. plug-in error.PNG: http://forums.ni.com/attachments/ni/170/222664/1/plug-in error.PNG ...

Can classes &quot;make&quot; controls and indicators &quot;appear&quot; on the front panel.
This is what I was hoping to do. I would define a parent class called signal that was really just an interface class. All of the child classes, analog in, analog out, digital in, etc. would have to override the VI?s in the signal class. So, the first thing that the program would do is to read a text file line by line, and on each line there would be a tag telling the program which type of signal to create. Next the newly created signal would be casted up to the parent class and put into an array. Once I have my array of signals, on the front panel I would have an array of text boxes. The text boxes would be displaying the names of the signals. In a search text box, the user can type some of the characters that are in the name of a signal, and the array would reduce the list until the user finds the signal they want. Here?s what I can?t figure out. I wanted the user to click a button next to the text box, that is listing the name of the signal they wanted, and the controls for that type of signal would appear to the right of the text box. How do I make the controls appear to the right of the text box? The controls are basically an indicator for reading an analog input or several controls that allow for ramping or stepping an analog output or setting a digital output or reading a digital input, etc. I?m hoping that the class can ?make? the controls and indicators ?appear? on the front panel. Any suggestions? &nbsp; Thank you! &nbsp; "Then write some helper meth...

I have some question on &quot;Use LabVIEW to Control two DSP and RTDX&quot;
I have some question when writing LabVIEW. I have DSP6711 and DSP6416, I use RTDX to send data to LabVIEW. I write three programes for LabVIEW, one is RTDX for&nbsp;DSP6711, another is RTDX for DSP6416, and the final is RTDX for two DSPs. The program of LabVIEW is workable when doing DSP6711 or doing DSP6416. But there is some problem when running DSP6711 and DSP6416 on LabVIEW at the same time. How to&nbsp;tell the LabVIEW's tool of " RTDX read" to&nbsp; get the datas from different DSP ...

The .NET assembly expected to be at &quot;&quot; was loaded from &quot;NULL&quot;
Hello, &nbsp; I use NET Components in a LabVIEW 8.2.1. VI and all work very fine. Now I convert it to LabVIEW 8.5 and I always get a warning, when open it. The Warning is : &nbsp;The .NET assembly expected to be at "" was loaded from "NULL". As example I add my CallbackVI in the Attachment. If somebody has an idea to remove this warning I would be thankful. &nbsp; Thanks in advance TE_NET_ToolStrip.ClickCallback.vi: http://forums.ni.com/attachments/ni/170/304243/1/TE_NET_ToolStrip.ClickCallback.vi Oh I was glad to early. The problem was only solved one time. When I changed something and saved again, I had again the troubles. &nbsp; I will recreate the VIs now. I already done, but it didn't helped. Now I read, that old one should be closed. ...

Difference between &quot;FP Close&quot; and &quot;FP Hidden&quot;
What is the difference between "Front Panel Close" and "Front Panel Hidden" ? "FP Close" works similar to "FP Hidden" at programming mode but not at the executable ! Is this normal ? At the executable "FP Close" seems to terminate the current vi. One more question: "FP Close" prevents the code that follows from been executed. It is a "violent" way to stop your current vi, but not the whole application. Am i right ? To add one additional thing: I made some tests now on how the Close/Hide differs for SubVIs, and saw no difference. So regardless of hiding or closing the FP of a SubVI, the execution of the VI keeps going on until either the VI is stopped or the MainVI gets unloaded.Attached you can find my test: Sub.VI is the Vi called by closeFP.VI using VI-Server. You can toggle several functions of the Sub, but please note that Sub does not get unloaded until closeFP is stopped.Norbert closeFP.vi: http://forums.ni.com/attachments/ni/170/299668/1/closeFP.vi sub.vi: http://forums.ni.com/attachments/ni/170/299668/2/sub.vi ...

How I can get &quot;value change&quot; event if I have a XControl with both indicators and control?
Hi All, &nbsp; I'm using LV 8.5.1. My problem is followed: I have created a Xcontrol which is compound of few&nbsp; indicators and controls. On my code XControl act always as indicator and I read control values by using my own created properties. I need&nbsp;to launch&nbsp;a new event when user change some of the control&nbsp;values. At this moment event structure can't detect these changes. Is this a property or a bug ? &nbsp; BR, pic_of_code1.jpg: http://forums.ni.com/attachments/ni/170/326893/1/pic_of_code1.jpg pic_of_front_panel1.jpg: http://forums.ni.com/attachments/ni/170/326893/2/pic_of_front_panel1.jpg Hi BR, You should change your XControl on the owning VI into a control.Inside the XControl you can have both controls and indicators.This will give your user the possibility to change one of them.Note that you have to make additional event cases inside your XControl for those controls.Ton Hi Ton, &nbsp; Thanks for your hints. I made a small&nbsp;test and found quite strange behavior of my XControl. I added one ring, boolean, and enum control to my XControl (see&nbsp;attachment)&nbsp;and added "value change" events inside the XControl. I added "one button dialog" VI to those&nbsp;events to recognize if event is fired. When I&nbsp; change value of ring or enum (items 1,3,4)&nbsp;sometimes&nbsp; pop-up shows up &nbsp;and sometimes not but when I change value of boolean&nbsp;i...

Another &quot;bug&quot; with setting control value using Property node
I am using Property Nodes to set some controls, mainly to get the "data flow" feature using the error line:&nbsp; as most of my VIs have the error line running through them, I can ensure the control value changes after MyVI by simply wiring the ErrorOut from MyVI into the ErrorIn of the control's property node. However, I found a "feature" that (so far) I have not seen documented -- if there is an "error" on the Error line, the value will not update!&nbsp; This came as a complete surprise to me, as there is no "intuitive" (or "obvious") reason for me to expect that an error would prevent a control from updating or allowing any of its properties to change. I am aware of the arguments that "updating controls using property nodes" is "bad" (because it can be slow) -- however, having it inexplicably "not work" is (to my way of thinking) an even more important reason to avoid this practice!&nbsp; Time to dive into my VIs ... Bob Schor P.S. -- I'm attaching a picture of a very simple VI that demonstrates this. Note I've only tested this with a Boolean control. Also, I should mention I'm running Version 8.5. Prop Node VI1.png: http://forums.ni.com/attachments/ni/170/327708/1/Prop Node VI1.png Hi Bob, Not a bug, but a coding standard. With the exception of "close" type operations, vitually all functions that accept a error cluster will not execute if their wa...