05-17-2010 02:34 PM
There is a dll listed in the dependencies section of my project that I know is not being used any more. I right clicked on the dll to have it find the caller. It says it's being used in one VI. In that VI I checked all over and made sure that my new dll (new name and different location) is being referenced. I've rebooted to try to clear any open references to the old dll. The reference to the dll persists. If I change the name of the old dll the project says the name of the dll changed, but the VI still looks for it, yet the VI is not broken.
Is there any way to find out exactly where LabVIEW thinks this dll is being referenced? It's driving me nuts.
George
Solved! Go to Solution.
05-17-2010 04:34 PM
05-18-2010 08:02 AM
That didn't work. It came up empty. I had it search all VIs in memory and had the front panel and block diagram options checked which should have pretty well covered everything. I know I had the name spelled correctly because I copied it from Windows Explorer. I think it probably can't search into a .NET constructor node which is where this dll is used. I also tried it with another dll that I know for sure is being used in a .NET constructor node and it couldn't find that either.
I also tried it with another dll that is being used in a Call Library Function Node and that worked. Any other ideas?
George
05-18-2010 10:59 AM
Hi George,
Have you tried right-clicking the dll in the dependency and clicking Why is this in Dependencies? Does this find that same VI which used to include the dll? If it does and you've eliminated all references to the dll, it might have been included in the project file and never removed. Could you post your project file?
05-18-2010 02:22 PM
>>Have you tried right-clicking the dll in the dependency and clicking Why is this in Dependencies?
>>Does this find that same VI which used to include the dll?
Yes to both questions.
I've attached my project. The offending dll is FunctioPointerProxy.dll.
If I rename the bad dll, then reload the project and start my VI I get a dialog asking me where to find the dll. So I think there must be a reference somewhere in the VI.
My VI includes a callback VI. I've also made sure there's no references to the dll in there. Is there any way though there could be some kind of tie in to the old dll there? Callback VIs seem to be a slightly different beast.
George
05-19-2010 11:05 PM
Hi George,
It looks like the DLL is listed in the project itself as a dependency. If you try to load the VI without loading the project, do you still get this problem? Also, can you try copying the block diagram of the VI to a new blank VI and see if that VI has the problem?
05-20-2010 07:46 AM
If I load the VI without loading the project it loads fine (no broken arrow, doesn't ask for the problem dll). However, every time I load the VI it has a "*" by the VI indicating that it changed even though I save it every time. The "Explain changes" dialog says the the VI was recompiled. I've never seen that before.
No for the good news. I copied the block diagram to a blank VI and that fixed it. I wish I could remember that trick - I forget about it every time.
Anyway, thanks for hanging in there and helping me fix this. It was making me crazy.
George