DQMH Consortium Toolkits Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

.ctl disowned by Clone Registration.lvlib

Made a mistake of moving things around in the project, after a bunch of fixing broken links, I've got it all put back except one thing.

 

When I look at an unaffected cloneable module, I see that the Action--enum.ctl is in the private folder of clone reg lvlib. 

shuttlefan_0-1736406498555.png

 

In the module that was affected, the closest I can get is at the same level as the clone reg lvlib.  

If I try to put in in the same private folder, I get denied and won't let me put it in there.  

 

shuttlefan_1-1736406876871.png

I've tried adding a file to the lvlib and it tells me the file is already there.  I tried deleting the file and adding and that didn't work either.     Physical file location is in the correct folder.  


How do I associate that file with the lvlib again?

 

0 Kudos
Message 1 of 6
(108 Views)

Remove the .ctl from the project. Save All in the project and close it. Then edit the Clone Registration.lvlib in a text editor to have a line like this, as a child of the "Private" folder item:

<Item Name="Action--enum.ctl" Type="VI" URL="../Action--enum.ctl"/>

So after your edit your private folder section should look something like this:

<Item Name="Private" Type="Folder">
   <Property Name="NI.LibItem.Scope" Type="Int">2</Property>
   <Item Name="Action--enum.ctl" Type="VI" URL="../Action--enum.ctl"/>
   <Item Name="Clone Registration AE.vi" Type="VI" URL="../Clone Registration AE.vi"/>
   <Item Name="Send Last Clone Instance Notification.vi" Type="VI" URL="../Send Last Clone Instance Notification.vi"/>
</Item>

Save your change to the .lvlib in the text editor, then re-open the project in LabVIEW and see if that fixes it. Note that you may need to open the .ctl and answer a prompt about library ownership of the VI changing.

Message 2 of 6
(81 Views)

Interesting, when I opened it up, all the paths were pointing to the old location and the entry was already there.

 

0 Kudos
Message 3 of 6
(71 Views)

when I remove it from project, it immediately shows back up in dependencies.  |
I saved the edited the .lvlib file to have it in the correct path and still same.

for the path, should it be just "../" or does that need to be the full

"C:\Program Files (x86)\National Instruments\LabVIEW 2021\ProjectTemplates\Source\BT&E\3DP Client\Libraries\EventCondInput/"

and does the / or \ matter?

0 Kudos
Message 4 of 6
(64 Views)

The paths should be stored relative, and the slashes should match what is in my sample XML above.

It sounds like my suggestion before didn't work. If you're able to share the project/library, I can try to debug it further.

Message 5 of 6
(60 Views)

Ok.  I got it to work by:

1) replaced path with "../" for all entries.  Closed everything.

2) opened up the "clone registration.lvlib" directly by labview.

3) once project fully expanded, it showed the that the items inside the "Clone Registration" was file moved, deleted.  I clicked on each VI within it and some were able to self update path, some I had to pick the file it was looking for.   

The action-enum.ctl was actually in the lvlib twice now.  The one in the private folder shows as moved or deleted.  The one in the main directory was no error.  I removed the one from the main directory.  Then right clicked and find->missing item to get to the file.  

 

There were two files that were not associated with lvlib.  (.ctl was one of them).  So I updated.  

shuttlefan_0-1736454032165.png

 

Then magically it worked it is back under private.

 

However, the paths in the file seems to not match the project level nor the physical location.  Add.vi is same as everything else.  Not sure why it is ../../

 

 

</Property>
<Item Name="Private" Type="Folder">
<Property Name="NI.LibItem.Scope" Type="Int">2</Property>
<Item Name="Action--enum.ctl" Type="VI" URL="../Action--enum.ctl"/>
<Item Name="Clone Registration AE.vi" Type="VI" URL="../Clone Registration AE.vi"/>
<Item Name="Send Last Clone Instance Notification.vi" Type="VI" URL="../../Send Last Clone Instance Notification.vi"/>
</Item>
<Item Name="Init.vi" Type="VI" URL="../Init.vi"/>
<Item Name="Add.vi" Type="VI" URL="../../Add.vi"/>
<Item Name="Remove.vi" Type="VI" URL="../Remove.vi"/>
<Item Name="List Instances.vi" Type="VI" URL="../List Instances.vi"/>
<Item Name="Is Empty.vi" Type="VI" URL="../Is Empty.vi"/>
<Item Name="Is First.vi" Type="VI" URL="../Is First.vi"/>
<Item Name="Obtain Last Clone Instance Notifier.vi" Type="VI" URL="../Obtain Last Clone Instance Notifier.vi"/>
<Item Name="Wait on Last Clone Instance Notification.vi" Type="VI" URL="../Wait on Last Clone Instance Notification.vi"/>
<Item Name="Destroy Last Clone Instance Notifier.vi" Type="VI" URL="../Destroy Last Clone Instance Notifier.vi"/>
</Library>

 

 

0 Kudos
Message 6 of 6
(52 Views)