06-23-2014 08:51 AM
My code was developed with ver. 2.x of the "32feet in the hand library". There was an update to 3.x which had more functionality. There didn't seem to be an easy way to update the references or constructors so I updated those manually by right clicking and browsing to the new library for each one in the project. (20x ref changes).
This created numerous wire class conflicts because the property nodes and invoke nodes didn't change. The only way thus far to correc the problem is to replace the nodes with the exact same property node or invoke node. Is there a way to get the change to the reference to propogate into the nodes. (I do have all the nodes wired up to the reference)
06-23-2014 09:50 AM
I have seen something similar when changing the class of control references within LV. When you change a reference class the invoke and property nodes should update to the new class. You sometimes need to reselect the desired property or method, but I haven't seen where you had to change the entire node.
How many VIs are there that you have to change?
I realize that this next comment can be a bit like telling someone that they really need to be backing up their work after their hard drive crashes, but your problem is a big reason why you modularize code: Stuff changes. If you create a library of VI that use this .net assembly you are constraining the number of VIs that need to change when the assembly is updated. Hope you don't have many to do...
Mike...
06-24-2014 10:04 AM
Here you will see a few parts of the code that still have the 2.x dependency. My understanding of the reason the .net frame work was developed as well as the dll was that you can update to a new version without having to update your code. Can't seem to figure out the trick to propogate the change. 😞
06-24-2014 10:30 AM - edited 06-24-2014 10:33 AM
oops
06-24-2014 11:21 PM
If the 3.x library has the same interface as the 2.x library then LabVIEW should update them automatically on loading a project with a changed dependency. You *do* have to shut-down the project in order for the change to be detected.
If the interface is different on any call then you are outta luck - you have to update those nodes manually. "Encapsulate what varies" is always a good motto.