LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Duplicate Quick Drop Item Names

So at NI Week Darren showed off some neat Quick Drop functions.  I asked a question about how do I add items from my user library.  The answer was it already does this automatically.  But when I went to my quick drop search it couldn't find a few items I was looking for.  After some testing I now realize that's because there exists on the palette two seperate VIs with the same name and Quick Drop appears to be picking one.

 

So is there a way to support having multiple quick drop functions to VIs that are on the palette?  Is there a way possibly to specify the relative (or absolute) path to the VI I want to drop?  At least then I can create a short hand command to bring up the function I want.

 

The two functions I've seen this on is the the "Wait (ms)" and the "Enqueue Element".  OpenG has made a very nice Wait function with the option to pass through errors, and abort on an occurance.  But unfortunatly it is named the same as the native function.  Internally we have also implemented a wrapped function for the Enqueue Element function and given it the same name.  We can rename our function to be something else like "Enqueue Element Hooovahh Edition" but we can't go around renaming OpenG functions.  Thanks.

0 Kudos
Message 1 of 12
(3,925 Views)

I’m having a difficult time reproducing this issue on my end. I have created an identically named, custom  Wait (ms).vi and saved it according to the instructions at:

 

Adding VIs and Controls to the User and Instrument Drivers Subpalettes

 

When I restart LabVIEW, Quick Drop automatically includes both versions.

Additionally, I can configure Quick Drop to select my custom Wait (ms).vi with any shortcut keys I choose. 

Perhaps I do not fully understand the functionality you desire. If I could replicate it on my end I will be better suited to helping you resolve the issue.

Jeff L
National Instruments
0 Kudos
Message 2 of 12
(3,873 Views)

If the VI is in your project, and is a member of an lvlib, the lvlib name shows up. If it's Wait (ms) vs openg wait, they tend to show up in the list in the same order.

0 Kudos
Message 3 of 12
(3,861 Views)

Okay so I believe the issue is not the name of the VI.  You see the name of the OpenG VI is actually "Wait (ms)__ogtk.vi"  But this isn't what the quick drop will index as the name.  Quick drop indexes the name of the window if it is different then the name of the VI.  So if you go to the Window Appearance on the OpenG VI you'll see that the Window Title is "Wait (ms)" which is the same name as the native wait primative.

 

To demo this I've attached two VIs.  One named "Wait (ms)2.vi" and "Wait (ms)3.vi" paste them into your 2012 user.lib, then run the Refresh Palette (or restart LabVIEW).  You'll now see both VIs under the user library category.  But when you go to quick drop and type "Wait (ms)" you only see the primative and number 2 but not 3.  This is because the native wait comes up and not the "Wait (ms)3.vi" which has the same window title as the native VI.

 

Another way to demo this is just to install the OpenG Timing functions then go to quick drop and try to drop the OpenG Wait, or Tick Count.  Both of these are quite handly to insert onto a error wire but quick drop can't do that at the moment.

0 Kudos
Message 4 of 12
(3,840 Views)

Oh, I see it now.

 

If you put the waits in an lvlib, and have another vi from that lvlib in memory, it looks like this:

 

Untitled.png

0 Kudos
Message 5 of 12
(3,807 Views)

@Todd_Lesher wrote:

Oh, I see it now.

 

If you put the waits in an lvlib, and have another vi from that lvlib in memory, it looks like this:

 

Untitled.png


Yes this is what I see.  If I have a project open that calls the other functions then they show up as unique, because it will add project items to quick drop.  But from a blank VI I cannot drop down the OpenG wait, or a few other functions I have (like enqueue element)

0 Kudos
Message 6 of 12
(3,787 Views)

I believe this has to do with the order in which LabVIEW searches through the libraries and resolves naming conflicts. To the best of my knowlede this is expected behavior since all three items in question show up on the quick drop list.

 

You can put this issue and any thoughts you may have on desired behavior on the Idea Exchange. This example and any other input you have would be greatly appreciated.

Jeff L
National Instruments
0 Kudos
Message 7 of 12
(3,764 Views)

@jliles wrote:

To the best of my knowlede this is expected behavior since all three items in question show up on the quick drop list.


This is only the case because a project is open where the dependency loads the VI.

 

Open a blank VI, create error in and out, then try to insert the OpenG Wait function from quick drop.  It will not be able to.

0 Kudos
Message 8 of 12
(3,758 Views)

Ok, after playing around with it some more with new VI's I can reproduce the behavior in both 2012 and 2013. I will look into the issue further and if this is a bug, I will file a corrective action report. Either way I will keep you posted. 

 

Thank you for your time and effort in pointing this out to us.

 

Jeff L
National Instruments
0 Kudos
Message 9 of 12
(3,728 Views)

This is intended behavior. Quick Drop only supports a single instance of a given object name in the entire palette set. We've gone through most NI products to make sure they do not install identically-named items in the palettes, since only one of those items will appear in Quick Drop. As has already been discussed, library namespacing is another way to ameliorate the issue.

 

I think until the Quick Drop behavior changes (and we have no plans to change it), the OpenG version of the function should get a different window title so its Quick Drop/palette name is unique. Specifically, I think it makes the most sense to remove the custom window title from the palette item so its VI name appears in the palette...I always found VIs that dropped with different names than their palette entries to be confusing.

0 Kudos
Message 10 of 12
(3,715 Views)