kawait Posted June 21, 2006 Report Share Posted June 21, 2006 Hi, I put a tab control in my program just to hide some constants, non-GUI stuff. I have also set all the controls in the Vi to skip when tabbing because Tab key has a special function in my VI (I have written an event structure + key down event). However, when I run my VI and press a Tab key, my VI freezes and CPU utilization becomes 100%, I have tried anything I can think of (like setting timeout to the event structure, setting the tab control itself to skip tabbing...etc) but the only workaround is making a "dummy" control (i.e. A control which does nothing but doesn't skip tabbing). Another solution is just avoid using tab control altogether. I tried to reproduce the problem by making a simple VI with a tab control, an event structure with key down event handling Tab key, but it doesnt freeze at all even I have set all controls to skip tabbing. I can't figure out which part of my VI interferes the tabbing. Has anyone had similar issue before? What do you guys think about what is happening? Thanks Quote Link to comment
chris1983 Posted June 21, 2006 Report Share Posted June 21, 2006 is the "Lock front panel until event case for this event completes" check box checked for this case?? if so un checking this will stop the front panel frezzing but this will not resolve the problem if the code is getting stuck in the event case. what process are you running in the event case for the tab structure?? have you got a while loop in the event case?? if so a time delay will stop the code using 100% of the CPU also you will need to make sure that the while loop stops executing so that the event can complete Quote Link to comment
jhoskins Posted June 21, 2006 Report Share Posted June 21, 2006 I think we will not be able to tell you much without seeing the code either do a screen shot or post the code or both. we will be able to help you better. Quote Link to comment
kawait Posted June 22, 2006 Author Report Share Posted June 22, 2006 Hi chris1983 and jhoskins, Thanks for your reply. I know I didnt tell you guys enough to figure out what happened. In my first post I just want to know if anyone had the same problem and give me some insight if someone did. Now I am going to talk more about it. Here is a screenshot of my program, take a look: There are 3 loops running in parallel, the one at the top captures mouse scroll event from WIN32 API and fires custom event. The one in the middle is just an event handler and the bottom one is a state machine. The screenshot also shows the event handler that is triggered when Tab key is pressed down. I've just tried un-checking "Lock front panel until event case for this event completes" for all events, as well as putting a wait timer (for 250 msec) in the loop around the event structure. But it turned out both didnt help solve the problem....Actually it is not a big deal as I can work around this by just placing a "dummy" control, but I still want to know what happened. I think that the top loop is the most likely to be the trouble-maker, but I can't find other ways to take advantage of mouse scrolling in LabVIEW 8. Please let me know if you know LabVIEW 8 has native support to mouse scrolling. As always, if you find something weird and awkward in my program please let me know too. I have been programming in LabVIEW for just ~7 months and I am always eager to learn from you guys out here Quote Link to comment
Yair Posted June 22, 2006 Report Share Posted June 22, 2006 I think that the top loop is the most likely to be the trouble-maker, but I can't find other ways to take advantage of mouse scrolling in LabVIEW 8. Please let me know if you know LabVIEW 8 has native support to mouse scrolling. If you suspect this is the source of the problem, you can simply remove that loop and see if this keeps happening. The message queue VIs use a reentrant DLL, so I don't think that it should lock the UI thread in any way, but it is easy to check. LV has support for mouse scrolling (although unfortunately not in the event strucutre) if you go to the Advanced>Input palette (not sure where it is in 8). I think it was Jean-Pierre Drolet who once posted an example showing this here. Try searching for it. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.