DQMH Consortium Toolkits Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

Compile DQMH into DLL?

Hi DQMH Community,

 

I have been asked by a customer to build low level drivers for a NI PXIe ATE test bench. They have already the middle and top layer written in C++ (e.g. sequencing, reporting, etc...)

My question is: has anybody tried compiling DQMH modules into usable DLLs? 

Because I really love DQMH, but if there are some No-Gos, it would be cool if I knew in advance.

Thanks a lot in advance!

Cheers,

Niko

Message 1 of 3
(1,281 Views)

This is a great question, sad to see no answers or discussion from anybody. I am myself considering this poser now. My thoughts (inconclusively) are:

1. DLL calls needs to return, they can't run indefinitely, so the DQMH module itself needs to be dynamically launched and perpetuated by another VI that returns quickly.

2. The launcher VI needs to perpetuate the event registration info, but also needs to return. Need a way to keep that info alive between DLL calls.

3. It occurs to me that the API Tester for the module does a lot of this for us, it would just need caller VIs for each method it supports, and need to be dynamically launched and maintained.

4. Can use VI server calls to programmatically populate the API Tester FP controls to interact with the module. 

 

These are my first thoughts. Untested and unproven, but maybe this is possible.

Thoric (CLA, CLED, CTD and LabVIEW Champion)


0 Kudos
Message 2 of 3
(853 Views)

I will have to give it a try, but I don't think this applies:


@Thoric wrote:

1. DLL calls needs to return, they can't run indefinitely, so the DQMH module itself needs to be dynamically launched and perpetuated by another VI that returns quickly.

 


because LabVIEW code built into a DLL still needs the LabVIEW runtime engine, and our code would be running on the LabVIEW runtime engine, which means the code runs in its own application instance, that means we could still call the function that starts and synchronizes the module from the DLL and then do all the requests as we normally do. The broadcasts would not work, though...

 

Please give it a try and share what you learn with us. Seems like you will be trailbazers on this 😉

 

thanks for your trust in DQMH,

 

Fab

For an opportunity to learn from experienced developers / entrepeneurs (Steve, Joerg, and Brian amongst them):
Check out DSH Pragmatic Software Development Workshop!

DQMH Lead Architect * DQMH Trusted Advisor * Certified LabVIEW Architect * Certified LabVIEW Embedded Developer * Certified Professional Instructor * LabVIEW Champion * Code Janitor

Have you been nice to future you?
0 Kudos
Message 3 of 3
(806 Views)