Can I Unlock a LabVIEW Class?

Updated Apr 27, 2018

Reported In

Software

  • LabVIEW Full
  • LabVIEW Professional

Issue Details

When the same class is used in multiple different targets, the class and its private data control become locked and cannot be edited.

Is there a work around for being able to work on a project that has multiple targets and have the flexibility of developing your classes all within the same LabVIEW project?

Solution

There are multiple ways to unlock a LabVIEW class:

You could chose to:
  1. Close your project
  2. Open the class directly outside the project
  3. Save it
  4. Open the project again
Or you could do one of the following:
  • Unload a class from the second application instance. This action unlocks the class for editing in the first application instance.
  • Delete a control of the class in the second application instance and save the VI.
  • Close the second application instance- this action allows the class to leave the memory and unlocks the class for editing in the first application.
Also note that if you are using a Real Time system the class will become locked if it is reference both under My Computer and the RT Target. In order to unlock the class, make sure that the class is not referenced under multiple targets. 

Additional Information

Keep in mind that  if you simply chose to delete a control of a class without saving the VI the class is not completly unloaded and remains locked. This is due to data of the class still being present in the history of the VI. The class remains locked until all instances of the data are gone.

This lock exists to solve any issues that can occur when making changes between copies. For example, if the typedef is edited in one application instance and the class is edited in another instance, resolving those changes is impossible since the order in which the changes are made affects the final outcome of the class.
 

WAS THIS ARTICLE HELPFUL?

Not Helpful