I have a typedef that holds configuration data for my system...this typedef is used by many VIs in my application.
This typedef will change over time as I add/delete configuration parameters, but I would also like to retain old versions of the typedef so that I can retrieve old configuration information.
I accomplish this by always using "Save As" whenever I update the typedef, and saving new versions with a different name. For example:
ConfigData_v1.ctl
ConfigData_v2.ctl
ConfigData_v3.ctl
...
What I expect to happen is that I can open up a current version of the typedef (let's say ConfigData_v1.ctl), make changes, then select "Save As"...I do *not* check the "Save a copy without updating callers" checkbox because I *do* want all callers to now point to the new typedef that I will be saving as ConfigData_v2.ctl.
I've noticed, however, that if I start LabVIEW and first open up ConfigData_v1.ctl, make the changes, select "Save As" (not checking "...updating callers..."), and then close ConfigData_v2.ctl (which was opened as ConfigData_v1.ctl)...when I open any of the VIs that use(d) the ConfigData_v1.ctl typedef, they have not been updated to point to ConfigData_v2.ctl.
Is this because VIs which use ConfigData_v1.ctl were not loaded into memory at the time when I made the change to the typedef? Strange.
Thanks!
BTW, if you're curious about how the data is managed, I have written a VI that pulls in data that conforms to an old version of the typedef and extracts the data into a new version of the typedef. This allows me to update my configuration typedef and propagate any saved values from old to new.