05-06-2014 10:40 AM
Hi, I have a recurring problem that is very annoying regarding dependencies in my AF based projects. If I open an example AF project at the same time as my project, and I accidentally drag a VI from the example into my active project, I get a dependency on the example project that will never go away. For instance, one of the examples I downloaded installed itself in my user.lib and appears in the pallet. I forgot what it was today and dropped a VI from the pallet into my project to figure out what it was. Once I figured out what it was I deleted the VI, however my project now shows dependencies on every library that is in the example project. When I search for callers of the libraries in question the only callers are other things under "My Computer/Dependencies". How can I get rid of these fake dependencies? Thanks.
05-06-2014 11:51 AM
If you close your project and reopen it, are those dependencies gone? If so, it's likely not a bug -- once you load a child class into memory, if its ancestor class is in use within your actual project, we hold the child class in memory because it looks like it is possibly needed by all the dynamic dispatch nodes that could dispatch out to it. We've debated pruning those, but often we have to keep them because there are objects of the type in memory, and it created some really weird rules for when it would stay and when it would leave when we tried the pruning.
If those dependencies are coming back when you close and reopen the project, that means one of your source files actually picked up a reference to one of those dependencies. The procedure in that case is to right click on an item under Dependencies and choose "Why Is This Item In Dependencies?" That will jump you to the thing that is keeping it around. Repeat that until you find something that is actually in your project, then edit that thing to remove the dependency.
Or LabVIEW has a bug. If neither of the above help you, you may need to submit a bug report through the main LabVIEW forum or your support portal of choice.
05-06-2014 01:25 PM
The dependencies are still there after closing and opening the project. Unfortunately, the "Why is this item in dependencies?" option does not appear for any libraries, classes, or member VIs under the dependencies list. Is there another way to interrogate them?
05-06-2014 02:45 PM
You should be able to right click on the library in the dependencies and select "find callers" if you are not getting the "why is this item in dependencies?"
05-06-2014 02:45 PM
I've never seen that happen. Hm...
If you delete those dependencies from disk and then open your project, does it search for the missing files? If so... what breaks when you don't find them?
05-06-2014 03:19 PM
Using "find callers" shows only items under Dependencies. I renamed the root directory for the sample project and the dependencies disappeared. There were no errors in the list when I reloaded the project. I changed the directory name back to the original and reloaded the project and the dependencies were still gone. The good news is that now know how to force them to take a hike.
05-07-2014 02:32 AM
Which version of LV are you using? I keep having some very strange effects on a 2012SP1 F5 installation which result in frequent crashes and screwed up projects...
05-07-2014 09:03 AM
I'm running 12.0f3
05-07-2014 11:18 AM
testingHotAir wrote:
The good news is that now know how to force them to take a hike.
It is good news, but I would like you to still file a support ticket if you don't mind sharing your code. The behavior you describe just shouldn't happen.
05-07-2014 01:40 PM
Oli_Wachno wrote:
Which version of LV are you using? I keep having some very strange effects on a 2012SP1 F5 installation which result in frequent crashes and screwed up projects...
I too have had some wierd issues happen when selecting "why is this item in dependencies". I was in LV 2013, and it would hard crash labview directly to the desktop, i was never able to figure out why but it went away at some point after i moved some things around. Not sure if they are related, but dependencies can be a pain sometimes.