LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Multiple Application Instances - Class Library Locked?

For anyone who is interested, there is an item on the Idea Exchange suggesting changing this behavior:

http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Classes-should-not-be-locked-when-added-to-multiple-ta...

0 Kudos
Message 11 of 15
(1,010 Views)

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.

0 Kudos
Message 12 of 15
(389 Views)

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.

0 Kudos
Message 13 of 15
(151 Views)

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.

0 Kudos
Message 14 of 15
(143 Views)

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.

0 Kudos
Message 15 of 15
(131 Views)