LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Opening LabVIEW project modifies VI

Hi,

We have developed an application using the actor framework but are having problems when updating from source control (Subversion with Tortoise). As soon as another developer opens up the project LabVIEW recompiles a large number of VIs which are now different from the files in source control. No obvious technical issue as in the code works on multiple machines but what is causing the recompile each time? Surely we shouldn't be comiiting 100+ files each time.

 

Regards

Mike

0 Kudos
Message 1 of 23
(3,510 Views)

@mikejda wrote:

Hi,

We have developed an application using the actor framework but are having problems when updating from source control (Subversion with Tortoise). As soon as another developer opens up the project LabVIEW recompiles a large number of VIs which are now different from the files in source control. No obvious technical issue as in the code works on multiple machines but what is causing the recompile each time? Surely we shouldn't be comiiting 100+ files each time.

 

Regards

Mike


Perhaps this link about Separating Compiled Code from VIs helps?

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 2 of 23
(3,495 Views)

Hi billko,

 

Thanks for the reply. We've not tried that yet and we've never had to do that before. Is this something you've had to do in the past?

 

Cheers

Mike

0 Kudos
Message 3 of 23
(3,479 Views)

I used separate compiled code from source on a recent Actor Framework project and things went well. It fixes the issue of resaving many VIs when updating the code from SVN.

 

Another thing to try is making all developers check out the code to the exact same path on disk.

0 Kudos
Message 4 of 23
(3,451 Views)

@NLutz wrote:

 

Another thing to try is making all developers check out the code to the exact same path on disk.


I've used Tortoise SVN with LabVIEW for almost a decade, and we've never had a problem checking out Repositories to anyplace (it made no difference -- if you didn't modify the code, there was nothing to commit).

 

One thing to be careful about is the LabVIEW Version.  As I'm sure you know, if you open a VI with a more recent version of LabVIEW, it will "save" to that version, making a change.  In some cases involving LabVIEW Project, it can try to mark VIs as "changed" (and save them) because of "cosmetic" differences -- while I'm not 100% certain I know what this means, it could mean that the code was opened with a monitor having a different resolution, and some of the Screen Defaults were changed.

 

One other possibility that occurs to me is to ask whether or not you check out the entire Repository or only a small fraction.  We tend to save LabVIEW Projects in their own Repository, and do an Update/Commit cycle on the entire Project.

 

Bob Schor

0 Kudos
Message 5 of 23
(3,435 Views)

Thanks guys for your comments so far. None of my colleagues or I have ever had to separate the source files before but we'll create a more simple project to try it on to see if we can first recreate and then resolve the issue. We're all using LV2015 so no problems with different variant of LV. It seems to be all of the files that have a reference to the actor framework but this is not the first project we have done this way and we've not seen this previously??

 

Cheers

Mike

0 Kudos
Message 6 of 23
(3,383 Views)

At my previous job, me and a collegue had a similar issue, some ActiveX using VI's always recompiled when we opened each others VI's. We couldn't find any difference in paths or versions. We didn't try separating code due to some project requirements.

We never got an answer or solution to it. 😕

/Y

G# - Award winning reference based OOP for LV, for free! ADDQ VIPM Now on GitHub
"Only dead fish swim downstream" - "My life for Kudos!" - "Dumb people repeat old mistakes - smart ones create new ones."
Certified-LabVIEW-Developer
0 Kudos
Message 7 of 23
(3,376 Views)

Did you ever discover what was causing the VI to recompile?  I am also having a source code control - recompile battle going on.  I'm trying to track down what the cause is.  My problem stems from using a method on an ADODB.recordset object, which is using ActiveX automation.  I'd love to track down the root cause.

0 Kudos
Message 8 of 23
(3,113 Views)

(I have edited becuase I realized that this was not my original thread, but I'll leave this response up anyway).

 

I have yet to find the solution.  I am starting to wonder if the database toolkit has something to do with it.  The DB toolkit VI's make calls to the ADODB object and call various methods/properties.  So, why would this VI stand out?  I originally added a recordset property to the database VI and it is this modified version that requires the 'recompile'.  However, This VI does NOT belong to the toolkit library.  I have pulled it outside the toolkit and placed it into a personal library.  

 

One question would be, how can I 'snoop' what LabVIEW is doing behind my back?  Simply opening up the project containing this VI causes the recompile...so, is there a way to find out how LabVIEW is determining that 'something external has changed'?  I mean, it must be making some sort of call to something external to discover this 'change'.

0 Kudos
Message 9 of 23
(3,074 Views)

I'm curious why you believe that shows it's making external calls.  Do you believe eclipse runs external calls when it compiles code?

 

LabVIEW handles the compilation and likely does that piece internally.  Can you snoop?  I'm sure there's a way although I wouldn't imagine it's easy.

 

I'm not sure what exactly is causing the recompile here.  I am a bit curious if you open the project, save the project, and hit the option to discard changes when you close the project if the remaining VIs will still show a difference when working with SVN.

 

If you open a VI that SVN is saying is different, do you see the dirty dot (* next to the VI name at the top of the window)?  If LabVIEW sees a change, it should show that dirty dot before you've saved the VI.  Does this appear on VIs before you save?

0 Kudos
Message 10 of 23
(3,047 Views)