LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Calling a DLL(with vi.lib) from a lvclass within a Packed library

Basically, I am having problem calling a DLL (which uses the vi.lib) from a packed library.

 

The error code I got is error code 1003. “Error 1003 occurred at Call Library Function Node in XXXXX.lvlibp”, “Labview: The VI is not excutable. Most likely the VI is broken or one of its subVIs cannot be located. Select File>>Open to open the VI and then verify that you are able to run it.   Create Summary Log.vi”

 

The VI that was mentioned above (Create Summary Log.vi) is one of the functions in the DLL that I am trying to call from the packed library. This VI modifies an Excel spreadsheet so it needs the vi.lib. In my DLL project, vi.lib is in my dependencies. When I compile my DLL, Labview will create four folders (NI_Excel, NI_HTML, NI_report, NI_Standard Report) at the build destination.  

 

To problem happens when I run a Top level VI, which calls-> the lvlibp -> lvclass (within the packed library) -> DLL (uses the vi.lib Excel functions).

 

This problem doesn’t happen when I am not running the packed library (Only with the lvclass). So I think the problem is that DLL can’t access or find the vi.lib when it’s being called by the packed library. It seems like the packed library changes the way the DLL access the vi.lib.

 

Any suggestions?

0 Kudos
Message 1 of 3
(3,271 Views)

Hi:

 

What version of LabVIEW are you using?

 

Have you seen this ?

0 Kudos
Message 2 of 3
(3,222 Views)

Hi,

 

Thank you for your reply. Unfortunately, I think I might have provided wrong information. I thought the problem didn’t exist when I wasn’t running the packed library, but the truth is, the problem always exist regardless.

 

I would get an “error 7” when I created a simple VI that would utilize “Call Library Function Node” to call the DLL.  

 

Error 7 occurred at Get LV Class Default Value.vi

 

Possible reason(s):

 

LabVIEW:  File not found. The file might have been moved or deleted, or the file path might be incorrectly formatted for the operating system. For example, use \ as path separators on Windows, : on Mac OS X, and / on Linux. Verify that the path is correct using the command prompt or file explorer.

=========================

NI-488:  Nonexistent GPIB interface.

 

Complete call chain:

     Get LV Class Default Value.vi

     NI_report.lvclass:New Report.vi

     Create Summary Log.vi

     Create Summary Log.vi.ProxyCaller

 

LabVIEW attempted to load the class at this path:

C:\XXX\XXX.dll\Excel\NI_Excel.lvclass

 

So the problem is, I don’t know how to include the NI_Excel.lvclass in my DLL. I didn’t have this problem back in 8.2, as I would just include a VI (with the excel VIs in the block diagram) in the project when I build it. This doesn’t work anymore as I am using 2011. 

0 Kudos
Message 3 of 3
(3,209 Views)