02-01-2018 11:21 AM
@aputman wrote:
@_Y_ wrote:
Unfutunately it is not wrong. Only VI-s in memory "know" about changes.
This is a simple test:
1. Create project with one typedef and one VI
2. Place the typedefined control in the VI
3. Save all
4. Close the project
5 Open the project again
6. Open the typedef (DO NOT open the VI)
7. Change typedef to control
8. Save all from menu or project toolbar
9. Close the project.
10. Delete the CTL file from hard disk (or rename).
11. Try to open the VI from hard disk. The VI will search for missed CTL file.
Again, you are not working from within the project when you open the VI from the hard disk.
I have to side with _Y_. For instance, even if you rename a VI using the LabVIEW project renaming tool (or rename it from the VIs own "Save As..." menu (!!? how intuitive)), only those VIs that are actually open (either explicitly, or implicitly due to being a subVI of a VI that is open) know about it. Also, try to open a VI (from within a project), right-click on the icon and "find all instances". If a VI containing the VI you opened is not open - even if the containing VI is included in that project - you won't see it listed.
02-01-2018 11:54 AM
billko wrote:I have to side with _Y_. For instance, even if you rename a VI using the LabVIEW project renaming tool (or rename it from the VIs own "Save As..." menu (!!? how intuitive)), only those VIs that are actually open (either explicitly, or implicitly due to being a subVI of a VI that is open) know about it. Also, try to open a VI (from within a project), right-click on the icon and "find all instances". If a VI containing the VI you opened is not open - even if the containing VI is included in that project - you won't see it listed.
I understand what you are saying and I acknowledge that my statement about project VIs being loaded into memory is not correct. But the question was how do you find all of the instances of a typedef after the typedef has been changed to a control. Somehow the discussion got sidetracked to also include if the ctl is deleted or renamed outside of the project. I don't see where that is relevant to the question that was asked. If the typedef is changed to a control within the context of a project (as was mentioned several times above), they will be updated automatically when you open up a VI that references it.
02-01-2018 12:07 PM - edited 02-01-2018 12:08 PM
aputman escribió:
.. Somehow the discussion got sidetracked to also include if the ctl is deleted or renamed outside of the project. I don't see where that is relevant to the question that was asked. If the typedef is changed to a control within the context of a project (as was mentioned several times above), they will be updated automatically when you open up a VI that references it.
Right, the discussion went sidewise. However, the main question was answered in first reply and marked as solution. Now we have post-solution time trying to learn little more.
You are correct, as long as work is carried within the same project, the problem can be easily avoided. Just do not delete or rename the CTL until being sure that it is not used anywhere. However, there are many cases when VI-s are used outside project where they were developed. Take, for example: