07-25-2024 11:55 AM
When working with nested libraries (e.g. a library with a class in it) in a project, performing a save all doesn't seem to actually save the inner libraries (at least not consistently). I will often get prompted to save library/class changes on closing the project, even though I've explicitly performed a save all.
Example: I update class data that's in a library. At some point after this I press ctrl+shift+s. And then LabVIEW crashes a few minutes later. When I open these files again, the class won't have the changes that should have been saved.
I'm not sure that it's happening every time, but I'm almost certain this behavior is happening on a regular basis. Anyone else experiencing this?
Version: 24Q1, 64-bit.
07-25-2024 12:15 PM
@_carl wrote:
When working with nested libraries (e.g. a library with a class in it) in a project, performing a save all doesn't seem to actually save the inner libraries (at least not consistently). I will often get prompted to save library/class changes on closing the project, even though I've explicitly performed a save all.
Example: I update class data that's in a library. At some point after this I press ctrl+shift+s. And then LabVIEW crashes a few minutes later. When I open these files again, the class won't have the changes that should have been saved.
I'm not sure that it's happening every time, but I'm almost certain this behavior is happening on a regular basis. Anyone else experiencing this?
Version: 24Q1, 64-bit.
It's quite annoying. Closely related is that clicking the X button on an unsaved library will close it without saving, and ctrl+S won't save it, either. You have explicitly open the file menu and select save for it to actually save.
07-25-2024 12:21 PM
I have not ran into this issue for a good while, even with updating my libraries to use 2024 and some refactoring/rearchitecting. I'll keep an eye out for this again whenever I get back into application development.
07-26-2024 12:40 PM
I've been running into pretty similar behavior but it seems to me more like the library isn't being correctly flagged as being modified. Specifically, I've been having issues with moving VIs into a virtual folder and then LabVIEW not realizing that's an update to the library so I end up going into the library and putting a random character into the description.
07-27-2024 10:18 AM - edited 07-27-2024 10:19 AM
@Jacobson wrote:
I've been running into pretty similar behavior but it seems to me more like the library isn't being correctly flagged as being modified. Specifically, I've been having issues with moving VIs into a virtual folder and then LabVIEW not realizing that's an update to the library so I end up going into the library and putting a random character into the description.
This is a version of what I mentioned above. If you manually save the library via the file menu, it will force an update.
07-28-2024 06:03 PM
@billko wrote:
@Jacobson wrote:
I've been running into pretty similar behavior but it seems to me more like the library isn't being correctly flagged as being modified. Specifically, I've been having issues with moving VIs into a virtual folder and then LabVIEW not realizing that's an update to the library so I end up going into the library and putting a random character into the description.
This is a version of what I mentioned above. If you manually save the library via the file menu, it will force an update.
Virtual Folders only exist in the owning lvproj folder. So, moving items in a project between virtual folders causes absolutely no changes to those items. Since you Save all (this project) no changes really need saving. To save changes like that you need to save the project rather than all items in the project.
07-28-2024 10:02 PM - edited 07-28-2024 10:04 PM
@JÞB wrote:
@billko wrote:
@Jacobson wrote:
I've been running into pretty similar behavior but it seems to me more like the library isn't being correctly flagged as being modified. Specifically, I've been having issues with moving VIs into a virtual folder and then LabVIEW not realizing that's an update to the library so I end up going into the library and putting a random character into the description.
This is a version of what I mentioned above. If you manually save the library via the file menu, it will force an update.
Virtual Folders only exist in the owning lvproj folder. So, moving items in a project between virtual folders causes absolutely no changes to those items. Since you Save all (this project) no changes really need saving. To save changes like that you need to save the project rather than all items in the project.
It shouldn't matter that they are virtual folders. You move a file - virtually or physically - and the library should update. I could definitely understand the file not updating, but the library should reflect the change.
Edit: If you don't hard save, the file appears back in its original spot in the library. That is unexpected behavior, if not a bug.
07-29-2024 03:07 PM
@billko wrote:
@JÞB wrote:
@billko wrote:
@Jacobson wrote:
I've been running into pretty similar behavior but it seems to me more like the library isn't being correctly flagged as being modified. Specifically, I've been having issues with moving VIs into a virtual folder and then LabVIEW not realizing that's an update to the library so I end up going into the library and putting a random character into the description.
This is a version of what I mentioned above. If you manually save the library via the file menu, it will force an update.
Virtual Folders only exist in the owning lvproj folder. So, moving items in a project between virtual folders causes absolutely no changes to those items. Since you Save all (this project) no changes really need saving. To save changes like that you need to save the project rather than all items in the project.
It shouldn't matter that they are virtual folders. You move a file - virtually or physically - and the library should update. I could definitely understand the file not updating, but the library should reflect the change.
Edit: If you don't hard save, the file appears back in its original spot in the library. That is unexpected behavior, if not a bug.
Not a bug! The project is simply an xml formatted file that does not contain any information about any libraries, vis, or any other file. Any lvlib that is a lvproj member is still referring to the lvproj xml data.
To move "Stuff" around in a lvlib you need to save the source lvproj file that defines that lblib. Remember lvlib members know what library they belong to but not where they exist! Projects, lvproj xml files merely point to where the members MIGHT exist on disc or virtually. Since lvproj members have NO SAVED? flag to accept they belong in them, no changes to those lvproj files. And no changes to the virtual folders of lvlib members could be forwarded as changes to a lvproj since there is no owning object of a project saved in a lvproj member.
Basically project members don't want to know what they are used in. Library members MUST know that. But moving library members around "virtually" in any project simply makes no changes to the library members location on disc where the project can find them so, there is no flag that tells that lvproj xml file that anything changed.
07-29-2024 06:47 PM
@JÞB wrote:
@billko wrote:
@JÞB wrote:
@billko wrote:
@Jacobson wrote:
I've been running into pretty similar behavior but it seems to me more like the library isn't being correctly flagged as being modified. Specifically, I've been having issues with moving VIs into a virtual folder and then LabVIEW not realizing that's an update to the library so I end up going into the library and putting a random character into the description.
This is a version of what I mentioned above. If you manually save the library via the file menu, it will force an update.
Virtual Folders only exist in the owning lvproj folder. So, moving items in a project between virtual folders causes absolutely no changes to those items. Since you Save all (this project) no changes really need saving. To save changes like that you need to save the project rather than all items in the project.
It shouldn't matter that they are virtual folders. You move a file - virtually or physically - and the library should update. I could definitely understand the file not updating, but the library should reflect the change.
Edit: If you don't hard save, the file appears back in its original spot in the library. That is unexpected behavior, if not a bug.Not a bug! The project is simply an xml formatted file that does not contain any information about any libraries, vis, or any other file. Any lvlib that is a lvproj member is still referring to the lvproj xml data.
To move "Stuff" around in a lvlib you need to save the source lvproj file that defines that lblib. Remember lvlib members know what library they belong to but not where they exist! Projects, lvproj xml files merely point to where the members MIGHT exist on disc or virtually. Since lvproj members have NO SAVED? flag to accept they belong in them, no changes to those lvproj files. And no changes to the virtual folders of lvlib members could be forwarded as changes to a lvproj since there is no owning object of a project saved in a lvproj member.
Basically project members don't want to know what they are used in. Library members MUST know that. But moving library members around "virtually" in any project simply makes no changes to the library members location on disc where the project can find them so, there is no flag that tells that lvproj xml file that anything changed.
Your technical discussion is spot on, but anyone who closes the project only to open it later and find their changes have not taken will tell you that this is a bug.
07-29-2024 07:08 PM
Your technical discussion is spot on, but anyone who closes the project only to open it later and find their changes have not taken will tell you that this is a bug.