LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

vi thinks it needs to be saved

All my VI's, when opened indicate something has changed (the asterix in the title bar appears). When I close the VI window the save window appears. The explain changes indicates:
1. VI recompiled             "Changes to front panel data structure or block diagram data flow causes LabVIEW to recompile the VI, generating new execution code."
2. SubVI call(s) modified              "A SubVI's connector pane (or a polymorphic subVI's list of VIs) was modified. Show the Context Help window for the subVI and make sure the connections to the subVI on the block diagram are still correct.
 
The problem is that I haven't changed anything. If I go ahead and save the VI and rebuild the dll, it doesn't work. And NO changes were made. These same VI's even in many months back saved backups all do the same thing.
 
I fear I no longer have a valid code base for future maintenance. Any ideas?
 
Thanks,
ML
0 Kudos
Message 1 of 10
(4,112 Views)

Hi Meeee,

Did you upgrade LV recently ? If yes, this is why LV asks you for saving all your VIs.

Few advices:

                 1. You can see what changes LV requires to save by displaying File >> VI properties and then List unsaved changes.

                 2. You sould mass compile your code (Tool >> Advanced >> Mass compile)

Keep us informed if you manage to solve your problem

Regards,

0 Kudos
Message 2 of 10
(4,099 Views)

Mass compile for sure.

I would start with that...  Especially if the files changed folder location or where transferred to another PC. Even if no changes were made to any of the vi's.

RayR

0 Kudos
Message 3 of 10
(4,088 Views)
This is fairly common with files that are loaded from a network.  If the local installs of Labview, and all add-ons, aren't exactly the same, then this will happen.
0 Kudos
Message 4 of 10
(4,079 Views)
I had to install LabVIEW onto a new PC a few months ago when the original PC died. So I guess it makes sense the VIs think changes have been made. I did the mass compile as requested. This resolved the issue of every VI needing to be resaved when opened.
 
The main problem I have is the one VI I need to update no longer works. Even if I rebuild the dll from the original source VI (before making the very minor update) my application won't launch it. As an experiment I tried renaming a different VI to the needed VI's name, rebuilt the dll to get the proper named functional call and the application does launch that dll. It would appear that something has changed in the environment.
 
I even tried rebuilding the VI from scratch. After many hours I had a duplicate of the original VI. I built a dll and......... the application would not launch it.
 
I'm running out of ideas to try.
0 Kudos
Message 5 of 10
(4,051 Views)
Do you get an error message or does it simply not launch at all?
0 Kudos
Message 6 of 10
(4,026 Views)

Let me get this straight...

You build a dll from the Labview code.  Is this dll called from another application (ie non-LV)?

 

0 Kudos
Message 7 of 10
(4,024 Views)
All the data surrounding this issue basically made no sense. So this morning I decided to punt and do a complete reinstall of LabVIEW. I rebuilt the dll and it works.
 
Part of me wants to know why!!!! But I'll just let it go and move on.
 
Thanks all for your insight and ideas.
 
ML
0 Kudos
Message 8 of 10
(4,015 Views)

Hello ML,

I have some questions...

1.  What is this VI trying to do?  Is it working in LabVIEW?

2.  What application is trying to call the dll?  What error are you getting when it is called?

If you could please be as specific as possible, this will help us reach a solution.  Thanks!

Janell Rodriguez | Applications Engineer | National Instruments

0 Kudos
Message 9 of 10
(4,012 Views)

Hi David,

Here's a hypothetical situation.  Your target reads 100 data points, saves all of them, and then sends all 100 points to the host machine at one time.  Is that what you are trying to do?

To do this, you are going to need another, non-priority loop to run on the target.  This VI will have a while loop that concatenates a certain number of data points into a shared variable array and then have the host read the shared variable once.  This is not efficient, but it will work in your application.  If you have anymore questions, just post again and we will get back to you.

Have a great weekend,

Janell Rodriguez | Applications Engineer | National Instruments

0 Kudos
Message 10 of 10
(4,009 Views)