06-14-2006 02:54 AM - edited 06-14-2006 02:54 AM
Message Edited by TonP on 06-14-2006 09:57 AM
06-16-2006 06:27 AM
06-23-2006 09:33 AM - edited 06-23-2006 09:33 AM
Hi Ton,
This is because LabVIEW identifies each VI based on it's location and the Library (.lvlib) it is part of. (LabVIEW stores a relative path to the VI, the VI knows to which library it belongs). If LabVIEW can't find a VI at that location which is part of the correct Library it will search for it in it's search path. If it still can't find it, it will ask the user for help (Ignore / Browse / Cancel dialog). If you choose to browse and select another VI, All Intanceses of the original VI will be replaced by this VI. LabVIEW does not replace the other references to the Library because it could be that juist one VI was removed from the Library.
You can workaround this issue by using a intermediate library. So you have the following for two versions:
\Library\v1.0.0\driver v1.0.0.lvlib {and files}
\Library\v2.0.0\driver v2.0.0.lvlib {and files}
\Library\Current\driver.lvlib {and current files}
In all the Applications that use this 'driver' library you include the 'driver.lvlib'. If you want to build a new version of this driver you duplicate the v2.0.0 folder in a v3.0.0 folder and when this version is ready for release you copy the library from folder v3.0.0 into the Current renaming it from 'driver v3.0.0.lvlib' to 'driver.lvlib'. This can be done easily using 'Save As' on the Library file or using the 'Save a Copy' method with VI Server (See attached Example).
A down side to this is that all application will be using the new version. Instead of using a current folder you could choose to copy the version you would like to use with a application to the application folder tree and maintain a copy there. This way you can choose per application if and when you upgrade to a new version.
In the attached example
Hope this help.
Karsten
NI
Message Edited by KvZ on 06-23-2006 04:41 PM
06-23-2006 01:34 PM