LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
0 Kudos
Andi_S

"Do not save automatic changes" also for non-read-only VIs

Status: New

LabVIEW do a lot of background changes on all VIs in the memory even if the user did not change anything.

You can recognize this when you close a VI and LabVIEW asks you for storing it or some of its SubVIs.

The can be prevented by enabling the options "Tread read-only VIs as locked" and "Do not save automatic changes".

Having an active read-only flag on several thousand VIs and removing / setting it manually is not really funny during daily development work. Wouldn't it be possible to prevent storing automatic changes independent from the read-only flag of the VI?

My use case: I have to open my Project sometimes in LV32 and sometimes LV64 to develop / run and compile the code. Each time LV wants to store all VIs when they have been stored with the other Bit-Version before. In each case I'm using LV2019SP1. The compiled code is already removed from all my VIs.

 

Andi_S_1-1585921460715.png

 

5 Comments
wiebe@CARYA
Knight of NI

Have you tried "separate compiled code"? This is one of the reasons it's there.

AristosQueue (NI)
NI Employee (retired)

(Speaking for LV R&D) Turn on "Separate compiled code from source file" on all your VIs and libraries. Solving your use case is one big reason that option exists. ALL VIs that ship with LabVIEW's own installer have this setting enabled, and have for several years.

 

(Speaking for myself as a G developer) The option can cause annoying behavior for one use case with TestStand (you can't just freely throw your VIs into the run-time engine on a new machine), but, otherwise, I recommend all users enable this option everywhere.

 

Details:

  1. There is a per-VI setting (see image 1 below)
  2. If you open Project>>Properties on your project file, there's a button (shown image 2 below) to enable the setting for all existing files in your project.
  3. There's a Tools>>Options setting to turn it on for all new files (image 3)

You can read more about this setting in our shipping documentation.

 

AristosQueue_0-1585923201217.png

 

AristosQueue_1-1585923280485.png

AristosQueue_2-1585923414427.png

 

 

joerg.hampel
Active Participant

Shameless plug: https://www.hampel-soft.com/blog/separate-compiled-code-from-source/




DSH Pragmatic Software Development Workshops (Fab, Steve, Brian and me)
Release Automation Tools for LabVIEW (CI/CD integration with LabVIEW)
HSE Discord Server (Discuss our free and commercial tools and services)
DQMH® (The Future of Team-Based LabVIEW Development)


AristosQueue (NI)
NI Employee (retired)

Hold on... I just noticed the last sentence of the post:

"The compiled code is already removed from all my VIs."

 

Does that mean you're already using the option? There may be more going on here. You shouldn't be seeing non-user changes if you're using source-only.

 

Can you provide details?

Andi_S
Member

Hi!

Yes, exactly - I use this option in the LabVIEW settings and also in the project settings. And I wrote a small VI that recursively went through my existing VIs and removed all the compiled code option.

What I did now know / recognize is that LabVIEW also stores compiled code in *.lvlib, *.ctl, *.lvclass and *.xctl

I extended my program to those file types and run it again. Now it seems that really all compiled code is removed and LabVIEW 32/64 do not try to rewrite my source files anymore.

So you can close this idea.