04-18-2013 12:45 AM
I have an lvlib with VIs that use AF. I built it into a package, and set each vi, ctl, lvclass and the lvlib file to "locked, no password". All is well.
I started a new project, created some new actors that do not call the aforementioned lvlib files. However, the lvlibs are listed in dependencies. I am not able to tell why by viewing VI Heirarchy. I tried "Find Callers" on each VI and class in the lvlib (it's not large). A "Do.vi" shows "Actor Core.vi" as its caller. Mass compile and force recompile are not helping. It feels like it's time to recreate the project from scratch. Just in case - does anyone have any other linkage-tracking/fixing tricks?
04-18-2013 02:05 AM
Todd,
what do you mean by package? If it is a packaged library you may want to check out
http://labviewjournal.com/2011/07/to-ppl-packed-project-libraries-or-not-to-ppl-part-1/
http://labviewjournal.com/2011/10/packed-project-libraries-part-2/
or
https://decibel.ni.com/content/thread/12998?start=0&tstart=0
Hope this helps
Oli
04-18-2013 03:21 AM
VIPM package, not ppl. It was a way to install the lvlib on a development machine.
04-18-2013 09:59 AM
Ah, a "VI Package". To be fair, I thought the same thing as Oli.
Can you post a screenshot of your VI hierarchy to help us understand the problem?
04-18-2013 02:10 PM
The heirarchy only showed that the lvlib (and its VIs) in question was under "My Computer". That means a project linkage, perhaps, so I opened the lvproj file in a text editor:
<Item Name="Dependencies" Type="Dependencies">
<Item Name="vi.lib" Type="Folder">
<Item Name="Actor Framework.lvlib" Type="Library" URL="/<vilib>/ActorFramework/Actor Framework.lvlib"/>
<Item Name="Error Cluster From Error Code.vi" Type="VI" URL="/<vilib>/Utility/error.llb/Error Cluster From Error Code.vi"/>
<Item Name="Reply Msg.lvclass" Type="LVClass" URL="/<vilib>/ActorFramework/Reply Msg/Reply Msg.lvclass"/>
<Item Name="Clear Errors.vi" Type="VI" URL="/<vilib>/Utility/error.llb/Clear Errors.vi"/>
<Item Name="Time-Delay Override Options.ctl" Type="VI" URL="/<vilib>/ActorFramework/Time-Delayed Send Message/Time-Delay Override Options.ctl"/>
<Item Name="Time-Delayed Send Message Core.vi" Type="VI" URL="/<vilib>/ActorFramework/Time-Delayed Send Message/Time-Delayed Send Message Core.vi"/>
<Item Name="Time-Delayed Send Message.vi" Type="VI" URL="/<vilib>/ActorFramework/Time-Delayed Send Message/Time-Delayed Send Message.vi"/>
</Item>
<Item Name="user.lib" Type="Folder">
<Item Name="xxxx_CRC_CCITT.lvlib" Type="Library" URL="/<userlib>/xxxx Tools/CCITT/xxxx_CRC_CCITT.lvlib"/>
<Item Name="xxxx_xxxxx Byte Parser.lvlib" Type="Library" URL="/<userlib>/xxxx Tools/xxxx Byte Parser/xxxx_xxxx Byte Parser.lvlib"/>
</Item>
</Item>
After deleting the "user.lib" entry and loading the project, the dependency was gone, and did not reappear after running code or mass-compiling.
However, I placed one of the VIs from the lvlib, then deleted it - and the lvlib is again listed in the dependencies.