LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

DLL created with LV 7.1 Application Builder doesn,t work when analysis subVIs are present

I'm looking for a solution of the following problem.
The DLL created by the "sum1.vi" source works properly, while the DLL create by "sum2.vi" always gives a zero result.
The "sum2.vi" source contains an additional "Hanning Window" VI (not wired), that seems to be the cause of the problem.
If I delete the Hanning VI and re-build the DLL, the same works fine
Is there a solution or is it not possible to make Labview DLLs when containing analysis VIs as filters, windows, FFTs, and so on?
Thank you for your answers.
 
N. Roberto
Download All
0 Kudos
Message 1 of 8
(3,936 Views)

Greetings Roberto,

Thanks for attaching the two VIs to your post. I'm interested in knowing which version of LabVIEW you are using? I have tested the same two VIs in LabVIEW 8.2.1 and was not able to reproduce the behavior. Creating the two dlls with a stdcall (WINAPI) calling convention returned a function prototype of 'double Sum2(double numeric, double numeric2);'

Please let me know if you have any further questions!

Regards,

Jordan Randall
National Instruments Italy
0 Kudos
Message 2 of 8
(3,884 Views)

Thank you Jordan, I'm using Labview 7.1.

Anyway I've resolved the problem by adding the "lvanlys.dll" file (present in "..\Labview 7.1\resource\lvanlys.dll" path) as support file in the building process. Now the DLL containing the analysis functions works correctly.

Natalino Roberto

0 Kudos
Message 3 of 8
(3,872 Views)


@Roberto N. wrote:

Thank you Jordan, I'm using Labview 7.1.

Anyway I've resolved the problem by adding the "lvanlys.dll" file (present in "..\Labview 7.1\resource\lvanlys.dll" path) as support file in the building process. Now the DLL containing the analysis functions works correctly.

Natalino Roberto



Ok, you probably got lucky since the lvanlys.dll seems to implement that function directly. However most Advanced Analysis functions are just redirected by lvanlys.dll to the Intel Math Kerneal Library that gets installed with LabVIEW 7.1 and higher. The only way to get that properly installed with your LabVIEW executable or DLL is to create a LabVIEW installer in your Application Builder and make sure to select under "Installer Settings->Advanced" the "LabVIEW Run-Time Engine" and the "Analyze VIs Support". Then use that installer to install your DLL on another computer.

Rolf Kalbermatter
Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
0 Kudos
Message 4 of 8
(3,868 Views)
Natalino,
 
Thanks for the reply. I'm glad you were able to find a solution. I also noticed the lvanalys.dll automatically added to the project under dependencies once the Hanning Window VI was placed in the sum2.vi.
 
Glad you were successful!
 
Regards
Jordan Randall
National Instruments Italy
0 Kudos
Message 5 of 8
(3,860 Views)
Thanks for your answers, I'm sorry but I couldn't reply before.
I've made an attempt by creating the installer with the suggested advanced properties and installing the DLL into another PC, but with no changes, so at the moment the only solution with LV 7.1 seems to be the inclusion of "lvanlys.dll" file.
Maybe with higher LV versions that can be resolved through project management.
 
Regards.
 
N. Roberto
0 Kudos
Message 6 of 8
(3,802 Views)


@Roberto N. wrote:
Thanks for your answers, I'm sorry but I couldn't reply before.
I've made an attempt by creating the installer with the suggested advanced properties and installing the DLL into another PC, but with no changes, so at the moment the only solution with LV 7.1 seems to be the inclusion of "lvanlys.dll" file.
Maybe with higher LV versions that can be resolved through project management.
 
Regards.
 
N. Roberto


The lvanlys.dll is required in your project distribution when using Advanced analysis VIs and should be added automatically by the LabVIEW Application Builder. But most Advanced Analysis functions won't work without the Math Kernel Library (MKL) installed too and not just any MKL but the one that comes with LabVIEW.

Rolf Kalbermatter

Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
Message 7 of 8
(3,795 Views)

Hello,

 

it´s an old thread, but I face with the same problem, and it took 2 days to clear...

In one of the subVIs, which should be compiled to a dll, I called simply the "Mean.vi", which uses lvanlys.dll. All the functions of the dll work, except one, where I expect an array as an output. If I delete the Mean.vi, and calculate the average with simple G functions, it works!

 

So thanks for the answers, rolf.

 

Mitulatbati

Message 8 of 8
(3,321 Views)