08-13-2012 04:40 PM
For anyone who is interested, there is an item on the Idea Exchange suggesting changing this behavior:
08-01-2022 05:49 PM
I started working on Real-Time systems prior to having the project. It was a hassle to switch between Windows and LabVIEW Real-Time instances especially when developing and debugging communication code.
When the project came along it was natural to have the host PC and Real-Time target in the same project for editing either application and common libraries used on each target. Classes are favorable, but the fact you can't edit them when you have instances of a class in target and host such as a communication class is not excusable in my mind. Having to split a target and host into two separate projects goes against the best practices and marketing NI has done for quite some time.
Being able to put both the Real-Time controller and Windows UI in the same project was nice while it lasted, but once again we are back to having to have separate project spaces for our UI and Real-time controller if I take your advice as it stands. The only way I have found to work around this it to create a project just to edit my class that is shared between the targets (silly for a simple update such as changing a data type), close that project, and then resume editing in my Host/Target project.
Are there any other platforms out there that don't allow you to share common classes between target and host? Mathworks and their partners seem to integrate target and host reasonably well. I'm not sure about Speedgoat. In short, this is an issue where NI needs to step up and be competitive with ease of development.
07-12-2024 01:21 PM
Hi EZ, old thread, I know. I ran into the very same type of problem just now on LV2021. I share a simple communication typdef control between RT and Windows UI and I have ran into the problem where I cannot edit the control because it is locked when the project is loaded.
I can edit the control when I close the project but it is 'locked' when the LV project is opened. tsk. tsk. tsk. I get this error message:
This VI cannot be changed to edit mode.
This VI is locked because it is used by a LabVIEW class and that class is loaded into multiple application instances. Unload the class from all but one application instance in order to unlock this VI.
So far this is the only thread that I found that mentions the same problem, alas with no obvious solution.
07-12-2024 02:19 PM - edited 07-12-2024 02:21 PM
Apart from the thread in the Idea Exchange mentioned earlier, this issue also appeared in the LAVA forum and is documented by NI.
It is unfortunate that NI does not solve this problem, but the main workaround now is to have separate projects (one open at a time) for each target that must use the same class.
07-13-2024 01:58 AM - edited 07-13-2024 02:43 AM
It is like having two different keys for the same car. One for the door and one for ignition, on top of that, you are not allowed to start the car with the door open nor when seated in it. You have to lean through the window, crank while pressing pedals by hand, with feet in the air until it starts. Only after all that can you climb in and drive normally - until the next stop.