Mark Smith Posted June 20, 2007 Report Share Posted June 20, 2007 I have a project where the structure is a top level .exe calling into libraries (llb's) of VI's using strictly-typed VI server calls. The top level .exe calls into LibraryA.llb and LibraryB.llb. LibraryA.llb also calls into LibraryB.llb. That means the VI's in LibraryB.llb that wrap the VI server calls get built into the Top Level.exe and also built into LibraryA.llb. When the Top Level.exe runs, the call into LibraryA.llb fails with Error 1003 and the message LabVIEW: The VI is not executable. Most likely the VI is broken or one of its subVIs cannot be located. Open the VI in LabVIEW using File>>Open and verify that it is runnable VI Path: C:\Path to LibraryA\Interface.vi I also dynamically opened the panel with a VI server call (without trying to run) and sure enough got a broken error and the message "VI has an error of type 2002200. The full development version of LabVIEW is required to fix the errors" This is pretty cryptic - can someone perhaps explain the nature of this error? So I open this VI from LabVIEW and it's just fine. If I remove all VI Server calls to LibraryB.llb from the Top Level.exe, all runs as expected. The VI at the path above opens and runs just fine. As far as I can tell, the problem is that there's a name collision because the VI server wrapper VI's used to call into LibraryB.llb are already loaded into the Top Level.exe when LibraryA.llb tries to load them from the LibraryA.llb. Is my diagnosis correct? What's the best workaround? Thanks, Mark NOTE: I have cross-posted this to InfoLabVIEW as well Quote Link to comment
aart-jan Posted June 20, 2007 Report Share Posted June 20, 2007 The server called VI's simply miss some subVI's. without looking too much into your own explanation, please be aware of the following: VI server calls do not count as dependencies while building your executable. The simplest solution is to set the llb's to be always included in your build specificaion. If you want to be more modular than that, you need to build the libraries independently as a source distribution, and include all vi.lib and user.lib references in your build specification. Good luck! Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.