LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Eliminate the need to recompile a executable if a vi is changed at source

Hi,

 

I am trying to figure out a way to run an executable VI with few new support vi's which were not compiled when the executable was created.

Is there a way to change Vi's in a project folder and use the new VI to run the executable VI which is calling it without recompiling any making a new executable.

 

Best Regards,

Nitin

0 Kudos
Message 1 of 5
(2,506 Views)

You would have to dynamically load the VI. What you are asking for is a plugin architecture. The dynamically loaded VIs could be source files or packed project libraries. While this can allow some modifications to occur without needing to rebuild your application it is not guaranteed that you will not need to rebuild the exe. Is will depend on what changes you are making.



Mark Yedinak
Certified LabVIEW Architect
LabVIEW Champion

"Does anyone know where the love of God goes when the waves turn the minutes to hours?"
Wreck of the Edmund Fitzgerald - Gordon Lightfoot
Message 2 of 5
(2,503 Views)

To expand on what Mark said, you would also have had to create the original executable with a plugin architecture in mind. If the original executable didn't have a plugin architecture in place when it was built, you cannot change it anymore. It sounds like you have an old executable you'd like to modify without recompiling, which can't be done (unless it was designed with a dynamically loading plugin system like Mark described).

Message 3 of 5
(2,469 Views)

Thank you guys,

I will dig deeper on we are calling the VI's in our executable and if I need more help I will post it here.

0 Kudos
Message 4 of 5
(2,449 Views)

As a brief side note, for VIs you'd need to call them dynamically (as already described).

 

However, for PPLs (Packed Project Libraries, .lvlibp files) you can directly call them (like normal VIs) statically - but you must stop the executable and restart it to load a new PPL when you replace the lvlibp file.

 

To change/update behaviour whilst an executable is running, you still need dynamic calls, even for PPLs. An article describing this can be found here: Refuelling in flight

 

Note that's quite a bit more tricky than simply restarting the exe with a new lvlibp file if restarting is a possibility. 


GCentral
0 Kudos
Message 5 of 5
(2,436 Views)