I’m a big fan of JKI VIPM, and I’ve been usen Source code control with labview for some years (First with mercurial and now with GIT). Following the good practices with SCC and LabVIEW I always check the separate compiled code from vi to avoid unwanted changes on Vis.
In the other hand I’ve read that the performance of labview is better with the compiled code in the VI. Besides that the labview IDE does not allow you clear compiled cache of some of your vis, you have to delete all the compiled cache…When I have some compilation errors and I delete the compiled cache It takes a lot of time to open again the project…
My question is… VIPM allows you to execute some code after the package installation (post-installation-action). Could it be a good idea to unmark the separate compiled code programmatically on each installed file (vi, ctl, class, lvlib… )?.
Maybe I have to make this question in VIPM forums also, to check when is executed that post-installation-action, if it is executed before or after the masscompiling
Who uses Git Submodules? I know Greg Payne does and have watched his talk, but does anyone else have experience. I'm especially interested in experience with projects with multiple developers and multiple products (that might need to use different versions of the subprojects).
I was asking this question also on NI forum, but didn't get answer yet (https://forums.ni.com/t5/LabVIEW/Create-custom-quot-Method-override-quot-window/m-p/4075683). Let me ask the same question here.
Is there a way to customize "Method override" window, to include there some more features (like proposed here , for example)? I was checking this library (C:\Program Files (x86)\National Instruments\LabVIEW 2020\resource\Framework\Providers\LVClassLibrary\NewAccessors\MemberVICreation.lvlib) and found method CLSUIP_CreateOverride.vi (C:\Program Files (x86)\National Instruments\LabVIEW 2020\resource\Framework\Providers\LVClassLibrary\NewAccessors\CLSUIP_CreateOverride.vi). But it seems, that this is not the one which calls dialog window.
I do not want to change override logic, just would like to add more features to window which allows to select the VI to override. So I'm curious, whether this is possible - or better would be to implement custom Project Provider for that...
Thanks a lot in advance!
By Francois Normandin
As I've reported in the UI Tools support page, I've started migrating the open source code I still have on bitbucket (Mercurial-based repos) to Github.
I didn't think that it might be worth a specific topic until @LogMAN mentioned it. Personally, I'm moving my code to Github in the process. I know there are some reports of Hg-to-Git transitions not going so well when using sub-repositories, so please share your migration experience if you've had to jump into some hoops to get it done!
For all of you who still use Mercurial and host your open source and/or enterprise repos on Bitbucket, this blog post is worth reading:
Here is the set-up:
I have a component project library (StepperMotor.lvlib) that I have moved to the userlib in order to facilitate reuse over multiple projects. Within the library I have
1) a strict typedef (StepperMotor.ctl) cluster that contains a numeric control for expressing the maximum output step rate.
2) the StepperMotor.lvclass, an abstract class that contains effectively virtual methods (they do nothing but wire inputs to outputs) and LabVIEW-generated accessor methods for the two items in the class private data.
This is LabVIEW 2013 SP1 on Windows 8.1.
OK, so I start with everything clean (git status reports clean, LabVIEW opens and closes the library without prompting for changes).
1) Then I open the StepperMotor.ctl directly from Windows Explorer (hence not opening the library), change the range of the numeric from 2 kHz to 4 kHz, and save it.
2) Then I open the library, make no further changes, and attempt to close the library. LabVIEW correctly prompts me to save changes. I opt to close the project without saving changes, however.
3) Next I discard the change to StepperMotor.ctl using git. (I have been using Discard in SourceTree, or a git reset --hard command.) Then git status returns a clean status.
4) I open the project and attempt to close it. Since I have reverted all changes, LabVIEW does not prompt to save changes.
So far, so good. This is expected behavior.
Now, I repeat the steps, except that in step
1) I open the library first, open the typedef control from the project, make the same change, save the control (without applying the changes), and close the project (without saving).
2) is the same as above (OK).
3) is the same as above. Again, git status shows me everything is clean.
4) I perform the same action as above, but this time LabVIEW prompts me to save all the accessor methods on the class, citing a changed typedef (even though if I open the typedef the range is indeed back to its original value). This is unexpected behavior.
Worse yet, even if I perform a git reset --hard and verify with a git status that everything is clean, if I open and immediately attempt to close the project, LabVIEW still prompts to save, citing "Type Definition modified". This is indeed problematic.
(Further note: If I let LabVIEW save the changes, git status still shows clean, and LabVIEW opens and closes the project without prompts.)