Guenther
-
Posts
42 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Gallery
Posts posted by Guenther
-
-
Hi guys,
I'm working on an application where the main VI repeatatly (every few sec) calls a sub-VI, which is visible in order to display some information. This call is made in the consumer loop of a state machine. On the other hand, the user should be able to edit the content of a control (numeric within an array within a cluster) in the main VI. However, each time the sub-VI gets called, the control in the main VI immediately looses key focus, which makes it very cumbersome to edit its contents..
Of course you can prevent the loss of key focus by making the main VI modal, but that also prevents any user interaction with any sub-VI, so I'd like to avoid this.
In this thread Yair showed a way how to keep the key focus on a control using the "FocusObj" property, which is available in some key-related events. I haven't found this property outside these events.
So, is the any way to prevent the loss of key focus without making the main VI modal?
Thanks a lot,
Guenther
-
QUOTE (vugie @ Sep 2 2008, 12:42 PM)
I didn't get such result in 8.2.1 (although I only reproduced simplified diagram)Are you sure that it is not a probe related issue? Try to index cluster through loops to generate 3d array and check the array.
It is not probe related, the output array shows the same errors, even if I output a 3D array. That was the original design, when I first noticed this issue.
Interesting that it works fine with LV8.2.
Cheers,
Guenther
-
QUOTE (Ton @ Sep 2 2008, 11:17 AM)
I assume that the fact you use unnamed cluster elements is a fact LabVIEW dislikes. It probably is some variant optimization bug.Ton (I get similar results)
Hi Ton
thanks for reproducing this bug. I was starting to worry about my copy of LV.
The names don't make the difference. If I feed an unnamed cluster constant into the cluster input, the VI works. But that is just the reason for using this simple bundle function, that you don't have to use a cluster template. Looks more like a cluster initialization issue.
Cheers,
Guenther
-
Hi guys,
I just discovered a serious bug in the bundle function in LV 8.5.1. Looks like the output cluster doesn't match the input values.
The VI should generate dummy data for testing the queued state machine in the main program. When the QSM started to act funny, I found that the generated data are wrong
There are 3 nested loops, the output should contain a state for the QSM and the indices of the loops in a variant. The first 6 iterations of the inner loop are ok, but after that the value of the middle index is wrong in almost every other iteration. The boolean is just there to prevent constant folding, so I could actually watch what is going on in the loops.
See the screenshot, where the bundle inputs are "1 1 0" while the cluster output reads "1 0 0". This is the first step that is wrong. After that, plenty more.
Funny thing, if I wire the output cluster to the case structure or the loop frame, everthing works fine.
Could someone try to reproduce this behavior to make sure it is not my copy of LV?
In LV 8.6. I could not reproduce this bug, everything works as it should. Good reason to switch to LV 8.6.
Cheers,
Guenther
-
-
Hi Tops,
you can disable individual radio buttons. On the front panel select the radio button, right mouse click -> create property node -> disable. This property node works on this selected radio button only. Of course you'll need to have separate property nodes for each radio button.
Have fun,
Guenther
-
QUOTE (Ton @ Jul 17 2008, 08:21 PM)
Whoah, that was hard to find. But you disabled the string control...Yep, that was it. I wanted to prevent the cursor to be in the indicator field. Enabling the string indicator again makes the menu work.
I do have a "mouse down" event that I use to select one of the items. To prevent the cursor from showing in the indicator I now redirected the key focus to a dummy control in this event. Is this the way to go or is there something more elegant?
Thanks a lot! :worship:
Cheers,
Guenther
-
Hi,
I've got an array of clusters for which I configured a run time menu. Problem is, during program execution the run time menu is only shown if the right mouse click is done on the frame of the array or exactly between the elements, not if the mouse hovers over the array elements. I tried to configure a run-time menu for the array element or an element of the cluster but LV doesn't offer this option.
How can I get the menu to appear regardless where on the array area the mouse click is done?
Thanks in advance,
Guenther
EDIT:
forgot to mention, this is LV 8.5.1
-
Hi Osiris,
for another project I coded a sub-VI that will give you the nearest data point for a given coordinate. So you make a mouseclick on the graph, close to the plot you're interested in, and the sub VI will give you X and Y value of the nearest data point plus the numer of the plot with this data point. This way you should be able to identify the strange graph. Sample is attached.
Have fun,
Guenther
-
QUOTE(JFM @ Apr 11 2007, 03:46 PM)
http://forums.lavag.org/index.php?act=attach&type=post&id=5467''>http://forums.lavag.org/index.php?act=attach&type=post&id=5467'>http://forums.lavag.org/index.php?act=attach&type=post&id=5467
-
The key down event is the correct one, but instead of reading the table value you should capture the key itself and add up the consecutive keystrokes in a string indicator. In this string indicator you'll always have the current value of the table cell.
To reset the value you can use the "value change" event, this means the user hit enter or clicked into another cell.
I only have LV8.20, so a screenshot will have to do.
Good luck
Guenther
http://forums.lavag.org/index.php?act=attach&type=post&id=5466
-
-
Hu guys,
is the run time engine of LV 8.2.1 different from the one if LV 8.20 or will programs compiled with LV 8.2.1 also run with the 8.20 RT engine?
We have the LV8.20 RT engine already installed on quite a number of measurement PCs.
Thanks,
Guenther
-
I don't know what you are doing wrong, but I have attached a VI that finds the callers window handle the ugly way
Download File:post-5175-1170935219.vi
-Mikkel
Hmm, your VI does pass a non-zero refnum, but also no effect on the position of the file dialog window.
I'm attaching my VI, replacing the App.ParWinforDlgs property node with Mikkel's VI doesn't change anything. Maybe the mistake is at some other place?
Thanks
Guenther
-
Hi Rolf,
only half a success. For some reason the property Application.ParentWindowForDialogs always returns zero.
The effect on my program is that when running the VI the first time, the file dialog window ist on top, like it should. But running the VI the second time, the file dialog window is again buried underneath all LV windows.
Any ideas what is wrong here?
Thanks,
Guenther
-
Hi guys,
I'm playing around with the .net file dialog, which I found in this thread. It works great, offers all the options I need for my project, BUT:
the dialog window does not appear on top of all other windows. I have to minimize my ther LV windows to dig my way thru to it.
I tried the show dialog method with the owner option and passed on the front panel and panes refnum (all typecasted), but no effect.
Any ideas how to solve this problem?
Thanks
Guenther
-
2. What versions of .NET are installed on your dev machine and the other PC?
Looks like that was the problem, the other PC had an older version of .net framework installed. With an update it works now.
Should have checked that.
Thanks Brian and Ton for your inputs! :beer:
Guenther
-
Maybe the dll is not registered on the target?
Try running regsrv32.exe with the dll name as parameter
Ton
We do have an installation routine for the dll, and somewhere in the process a message pops up that the dll has been registered.
I tried regsvr32 anyway and I got a message that the dll is loaded but the entry point could not be found. Don't know what to make of that.
However, regsvr32 delivers identical messages on both PCs, so at least there's no difference here.
Guenther
-
Hi guys,
I'm pretty much stuck with a problem. I have to call a .net dll from labview. So I do all this stuff with the constructor note, call the function with an invoke note and close the reference again. On my development machine it works like a charm, also when I compile my application the .exe works fine.
However, when I transfer my application to another PC, I'm getting error 2 (memory full) immediately after calling the constructor node. Needless to say that it's not really a memory problem. The dll and my app are in the same paths on my development machine and the other PC.
We asked the supplier of the dll for a little program the test the dll and that works fine on both PCs. So it has something to do with the way I call the dll in LV.
Any ideas?
Thanks a lot,
Guenther
-
It's a primitave, so I don't think there's anyway to change the default behaviour (unless there's some funky ini file setting somewhere?)
That's what I was afraid of....
Anybody from NI to comment? Is there a "SuperSecrect-don't-change-my-data-by-default" option?
-
Hi Guys,
when dropping the "read from text file" VI on the block diagram, the option "convert EOL" is checked by default.
With this option any CR/LF will be converted into a LF character only. I don't think it's a good idea the have the data changed during read by default. Is there any way to turn off this annoying default option?
Thanks,
Guenther
-
You can call the sub-VI dynamically, this way it operates indepentently from the main program and the sequence will not wait for the sub VI to finish.
Check out this thread in the NI forum
Good luck
Guenther
-
Thanks a lot. :thumbup: So you mean that I have to install LV8 to solve this problem for LV7 hasn't this property node, right?
Hi Seoul,
I have never used LV7, so I have no idea if this property already exists there.
But you're right, if it doesn't, you might be out of luck. Finally a good reason to get the upgrade.
Have fun,
Guenther
-
Key focus lost
in User Interface
Posted
QUOTE (mesmith @ Nov 29 2008, 06:19 PM)
Yes, this works indeed. I disabled "Show Front Panel when Called" in the sub-VI and called the FP.Open property for the sub-VI during initialization of the main VI. As expected, the window of the sub-VI pops open immediately, but the sub-VI does not grab focus anymore when called.
Thanks for the solution!
Cheers,
Guenther