DQMH Consortium Toolkits Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

Reusing DQMH Modules

Solved!
Go to solution

Hello,

 

What is the best way to reuse DQMH modules for future projects? I currently work at an ITAR facility so the code shouldn’t be uploaded anywhere. 

I’ve read about PPLs and am aware of the VIPM reuse library.

 

Is there an issue with me just placing all my modules in a certain folder and just using the VIs from that folder and having them tied to the dependency of each new project? I just tried this with an API tester and it seems to work with no problem. 

0 Kudos
Message 1 of 12
(908 Views)
Solution
Accepted by VInoob

You could consider creating a repository for every reusable module, and then using Git Submodules.

 

Git submodule basics:

  1. Git official website: https://git-scm.com/book/en/v2/Git-Tools-Submodules
  2. Cameron McKenzie explains git submodule in his YouTube channel playlist: Git submodule examples and tutorials
  3. Labvolution | Why you should be using Git submodules
  4. 13 Git Submodules [HAMPEL SOFTWARE ENGINEERING] (hampel-soft.com)

 

 

Christopher Farmer

Certified LabVIEW Architect and LabVIEW Champion
DQMH Trusted Advisor
https://wiredinsoftware.com.au

Message 2 of 12
(888 Views)

Or if you were using SVN, then maybe SVN externals (similar but not exactly the same thing as git submodules):

What are the differences between Subversion and Git? - GitHub Enterprise Server 3.12 Docs 

Christopher Farmer

Certified LabVIEW Architect and LabVIEW Champion
DQMH Trusted Advisor
https://wiredinsoftware.com.au

Message 3 of 12
(855 Views)

Hello, 

 

I finally am at the level where I want to create an executable. I ended up using Tortoise SVN externals to reference my DQMH modules. In the development mode this works without a problem. However, when I run the application it looks for the DQMH module in the data location of the executable and gives error 1003.

Is it possible for me to change it to reference the repo for dependencies of the application? I’ve tried googling this, but no luck finding a solution. 

0 Kudos
Message 4 of 12
(490 Views)

How have you built your exe?  

 

Are you trying to call your modules dynamically, or are they all statically linked in your application?

Christopher Farmer

Certified LabVIEW Architect and LabVIEW Champion
DQMH Trusted Advisor
https://wiredinsoftware.com.au

Message 5 of 12
(476 Views)

I have, but like I mentioned I got a bunch of errors with config file trying to reference the data folder in my executable for my sub DQMH modules.

 

I tried making them all into PPLs and still have the same issue. I didn’t try adding the vipath to the config file using my original method, but I did with the PPL method and I had no luck. 

0 Kudos
Message 6 of 12
(474 Views)

It's really hard to understand what your challenge is without seeing it.

 

Can you provide a bunch of screen shots?

 

ie. An Antidoc diagram to show us all of the modules and how they're related, build spec, project etc?

Christopher Farmer

Certified LabVIEW Architect and LabVIEW Champion
DQMH Trusted Advisor
https://wiredinsoftware.com.au

Message 7 of 12
(465 Views)

The use of submodules in your source control software should not affect your LabVIEW project. It's actually just another way to save the source code.

Finally, your SVN repo should be set up in such a way that the files are synchronized to your local LabVIEW directory. LabVIEW only sees your local file system.

The DQMH modules must be compiled into the executable.

how to reference DQMH moduleshow to reference DQMH modules

 

Message 8 of 12
(459 Views)

Sorry for the delay I’ve been trying to find out why I have this issue and even rewrote my code one sub DQMH module at a time. I have found my problem DQMH module. I’m using the DLL “sa_api.dll” and for some reason when I add this module my application breaks on my virtual machine, but runs fine on my development station. I linked the LabVIEW library used for this DQMH module below. 

https://signalhound.com/software/signal-hound-instrument-drivers-for-labview/


The dll is included in the application I see it in the data folder. 

 

It seems to work okay if check “exclude shared libraries” then the application asked on virtual machine to select the DLL and when I do it works okay. 

Message 9 of 12
(434 Views)

I guess, the reason for the issue is not the application or DQMH. How do you call this dll in LabVIEW? My advice is to pass a path to your dll inside a conditional disable structure to decide if you are using the dev environment or the executable.

Ludwig72_0-1729589058835.png

 

Message 10 of 12
(426 Views)