pawhan11 Posted May 25, 2017 Report Share Posted May 25, 2017 Cross post from NI forums: http://forums.ni.com/t5/LabVIEW/Load-lvlbp-from-different-locations-on-disk/td-p/3634295 I have project file that includes lvlibp library, functions from inside are called from many places inside application. Now this library resides in directory A, I want to do disk cleaning and load the same PPL but from another place on disk. I have played with it and I can not do this... When I remove currently used ppl it goes to dependencies. When I add to project library from new path there is hundreds of confilcts that can not be resolved. Is there a simple catch that I am missing? demo.zip Quote Link to comment
Gab Posted May 26, 2017 Report Share Posted May 26, 2017 I dont think so there is simple way because of PPL . just load funtion from new PPL location Quote Link to comment
Tim_S Posted May 26, 2017 Report Share Posted May 26, 2017 Expect the VI is referencing something in two PPL files. Removing the one PPL and looking for what is broken should fix it. Quote Link to comment
pawhan11 Posted May 26, 2017 Author Report Share Posted May 26, 2017 That is the problem, when I remove PPL from project and from disk and point to new one I get this conflicts. Quote Link to comment
Gab Posted May 29, 2017 Report Share Posted May 29, 2017 In this case, I think, there is still some dependency that why it shows conflicts Quote Link to comment
Rolf Kalbermatter Posted May 30, 2017 Report Share Posted May 30, 2017 (edited) On 5/29/2017 at 0:05 PM, Gab said: In this case, I think, there is still some dependency that why it shows conflicts Doesn't need to. The LabVIEW project is only one of several places which stores the location of the PPL. Each VI using a function from a PPL stores its entire path too and will then see a conflict when the VI is loaded inside a project, while the project has this same PPL name in another location present. There is no other trivial way to fix that, than to go through the resolve conflict dialog and confirm for each conflict from where the VI should be loaded from now on. Old LabVIEW versions (way before PPLs even existed) did not do such path restrictive loading and if a VI with the wanted name already was loaded, did happily relink to that VI, which could get you easily into very nasty cross linking issues, with little or no indication that this had happened. The result was often a completely messed up application if you accidentally confirmed the save dialog when you closed the VI. The solution was to only link to a subVI if it was found at the same location that it was when that VI was saved. With PPLs this got more complicated and they choose to select the most restrictive modus for relinking, in order to prevent inadvertently cross linking your VI libraries. The alternative would be that if you have two libraries with the same name on different locations you could end up with loading some VIs from one of them and others from the other library, creating potentially a total mess. Edited May 30, 2017 by rolfk Quote Link to comment
pawhan11 Posted May 31, 2017 Author Report Share Posted May 31, 2017 I have tried resolve in conflict window but for some reason I can not choose correct new path. In fact nothing can be chosen I was thinking about writing script that will go through all vis in proj and replace this ppl content so they have new path, but that seems way to extreme... Quote Link to comment
Rolf Kalbermatter Posted May 31, 2017 Report Share Posted May 31, 2017 You usually need to scroll down in the list until you find issues that have at least one valid resolution option. Higher level conflicts that depend on lower level conflicts can't be resolved before their lower level conflicts are resolved. Quote Link to comment
pawhan11 Posted May 31, 2017 Author Report Share Posted May 31, 2017 Makes sense but the problem is that in this case there are no items that can be resolved from resolve conflicts window (For all items in resolve conflicts Use selected item id disabled) I have also tried to move ppl from files view but this can not be done. Quote Link to comment
ShaunR Posted June 1, 2017 Report Share Posted June 1, 2017 19 hours ago, pawhan11 said: Makes sense but the problem is that in this case there are no items that can be resolved from resolve conflicts window (For all items in resolve conflicts Use selected item id disabled) I have also tried to move ppl from files view but this can not be done. I have had situations like this and the only option was to look at the XML. In there you may find absolute paths (c:\myapp\myprogram) mixed with relative paths (..\myprogram). Change all the absolute paths to relative ones and it may resolve this. Quote Link to comment
pawhan11 Posted June 1, 2017 Author Report Share Posted June 1, 2017 I cen edit that in proj because that is simple xml, problem is to change this in all subvis in simple way. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.