Build applications with dynamic loaded subVI's as dll

I want to build an application with some subVI's. The target would be to have an *.exe from the topVI and a seperate file for every subVI (I suppose this will then be a *.dll file)
The topVI uses the "call by reference node" with a "type specifier VI refnum" reference.
The path of the subVI's is read from a textfile and the subVI's are called dynamicly, all subVI's have the same connector layout.
Until now I was not able to generate a *.exe file wich is able to dynamicly call subVI's which are not included in the *.exe file (I tried with *.vi, *.llb and *.dll versions of the subVI's).
Building this application with all subVI's included in the *.exe is no problem and works fine, but is not what I want.
The target would be to have the possibility to update only some subVI's without the need to build the whole application again.
This way of working would increase the flexibility to have different combinations of versions a lot.
I am using LV8.2.
Is my question anyway possible and if yes can somebody tell me how?
Thanks!

Hello,
A SubVI is actually what you call a sub-routine in text-based programming languages.
So when you build an executable from a VI with SubVI's, it will simply build everything into one exe file.
That's normal behaviour.
If you would like to use dll's for flexibility, than you have to build VI's seperately for every dll you want to build.
These dll's can than be called from within you main application executable.
This practice is often used by system integrators to protect there code otherwise than a larger executable, but mainly because of easy maintenance.
That is what I think you are also looking at.
So what you would like to do is perfectly possible and common practice, you may only have to change your top view of the actual application.
Best regards,
Joeri
National Instruments
Applications Engineering
http://www.ni.com/ask
Make our forums great:
If you like the answer, don't forget to "Kudos!".
"Accept the Solution" if your question is answered!

Similar Messages

  • Can I call a dynamically loaded subvi from a subvi inside a library?

    I have an application that uses a .lvlib, this library has many subvi's.  From my executable, I can dynamically load subvi's within the library using the "open reference.vi" and passing in just the name as long as the subvi's being called are listed in the "always included" list of my build specification.  What I want to do now is load an external subvi (external to the library) using the same method.  But when I try to do this, LabVIEW cannot find the external subvi even when it is included as part of the executable.  It seems the Paths are getting messed up.  Here is what is happening:
    Lets say I have Mylibrary.lvlib as my library in the following path C:\MyProject\Mylibrary.lvlib,
    and internal.vi as my subvi within the library in the following path C:\MyProject\MySubVis\internal.vi,
    and external.vi as my subvi outside of my library in the following path C:\MyProject\external.vi
    This is all in the same project.
    I'm using the "Open VI Reference.vi" from internal.vi to call external.vi, and I'm including both internal.vi and external.vi in my executable (MyEXE.exe for illustration purposes).  When I run this part of my code I get an error and LabVIEW reports the path of my external subvi as: C:\MyProject\MyEXE.exe\MySubVis\external.vi which is really the path for my library subvi.  Why?
    Either way, when I hard code what is supposed to be the correct path to my external subvi:  C:\MyProject\MyEXE.exe\external.vi, LabVIEW can't seem to find the file, its' almost like an access scope problem because I'm trying to access something outside of the library.  Is there such thing?  If the file is part of my exe why can't LabVIEW find it???  How can I call my external.vi BY NAME from my internal.vi??
    Any help is appreciated.

    Your hardcoded path is incorrect. How do you have the build configured? Are you using the new executable structure or the pre-8.2 structure.
    Mike...
    Certified Professional Instructor
    Certified LabVIEW Architect
    LabVIEW Champion
    "... after all, He's not a tame lion..."
    Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps

  • Cannot build application with labview 7.0

    I had built application previously using labview 6.X while some of the V.I. are without block diagrams, but I couldn't do that any more with labview 7.0 as a error will be prompted, why is this happening & are there difference in application builder between labview 7.0 and previous version? Must I load those V.I. without block diagrams dynamically now ?

    Unfortunately it is impossible to build application with newer version with VIs without block diagrams, which saved in oldest version.
    from ni web site:
    "National Instruments does not recommend saving VIs without block diagrams because LabVIEW needs the block diagram to recompile the VI after an upgrade. When you upgrade LabVIEW, you must find a version of the VI that includes its block diagram to recompile it. Such a version did exist before the block diagram was removed because it is impossible to create a new VI without a block diagram."
    "Based on that information, it should be clear that once a VI is saved without diagrams:
    You cannot open or run the VI on any other version of LabVIEW, older or newer."
    More information:
    http://digit
    al.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/00a6bacda1c01a0786256b60006163e7?OpenDocument
    http://digital.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/28c4cb0cf83e1a1d862566e2007a2a9c?OpenDocument
    http://digital.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/fee732f4b1541b9586256bf0006a78ca?OpenDocument
    http://digital.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/0649a3350de20aa186256d91007b3d61?OpenDocument

  • Remote debugging an executable with dynamically loaded subpanel VIs

    All,
    A colleague of mine is attempting to perform remote debugging of an executable he has inherited. It includes subpanels that show dynamically loaded VIs. When connecting with the remote debugger, the main executable shows fine, but the dynamically loaded VIs are not showing their front panels. They appear ok on the remote PC where the executable is running, but they don't appear on his laptop from where he is running the debugger.
    I don't have access to LabVIEW currently, and he cannot get this to work, so I thought I'd ask the community this generic question:
    "Is it possible to remotely debug a LabVIEW executable with subpanels that show dynamically loaded subVIs?"
    Technically he can see and probe the block diagram of the main executable, but the subpanels are blank where the dynamcally loaded subVI front panel should show, making it impossible to interact with the program.
    Thoric (CLA, CLED, CTD and LabVIEW Champion)

    Thanks Josh. Does this issue have a CAR number I can tag?
    Thoric (CLA, CLED, CTD and LabVIEW Champion)

  • Building application with microsoft agent

    Can someone clarify if there is anything different that needs to be done while building a stand-alone application that includes VIs that use the MS agent voice VIs (for example MSagentTTS.llb) along with CGI VIs? I have been able to build applications with only CGI VIs but failed while adding MS agent VI functionality. Any help is greatly appreciated.
    -Sheela

    "Belur" wrote in message
    news:[email protected]..
    > Can someone clarify if there is anything different that needs to be
    > done while building a stand-alone application that includes VIs that
    > use the MS agent voice VIs (for example MSagentTTS.llb) along with CGI
    > VIs? I have been able to build applications with only CGI VIs but
    > failed while adding MS agent VI functionality. Any help is greatly
    > appreciated.
    >
    You'll need to install the Microsoft Agent parts on the target computer.
    They are:
    MSAgent.exe - the core components
    actcnc.exe - MS Speech Recognition Engine
    tv_enua.exe - MS Text To Speech engine
    Merlin.exe - or any of the available different voices
    Theses are available for downl
    oad from
    http://www.microsoft.com/msagent/downloads.htm

  • WBS Hierarchy Logic build up with dynamic values

    Hello ABAP Crew.
    I currently using BAPI_PROJECT_MAINTAIN, and I have to pass I_WBS_HIERARCHIE_TABLE with the hierarchy table made by me.  Does anyone have a logic on how to do this from values within a table?
    Here are the values coming from a proxy:
    111520
    111520-111234
    111520-111234-19
    111520-111234-19-1
    111520-111234-19-2
    111520-111234-20-1
    111520-111234-20-4
    The purpose is to place this into the table of I_WBS_HIERARCHIE_TABLE in the UP DOWN LEFT RIGHT  format. 
    Now the problem is, the list of values received will always be different.
    Thanks.

    Hi Jotorres,
    Did you get a response for this question about WBS hierarchy logic build up with dynamic values? I have been trying to build it up myself, but its getting increasingly difficult. I wanted to know how you resolved this issue?
    Thanks a dozen !
    Regards
    Aradhana

  • JDeveloper build application with JAAS

    Hello!
    I try to pack my application using JAAS XML. I create the .war file and it works nice. The login-form appears,
    but the problem is that the .ear file must have the orion-application.xml and the jazn-data.xml in the META-INF folder but these files remain in WEB-INF.
    Does anybody know how to pack the .ear so that the XML files are in the META-INF??
    regards
    Wolfgang

    HI
    GOOD
    GO THROUGH THIS LINK,I HOPE YOU WILL GET SOME GOOD IDEA TO BUILD APPLICATION WITH CONNECTION TO R/3.
    http://www.persistentsys.com/presentation/Java_SAP_Integration.pdf
    http://www.businessobjects.com/pdf/solutions/xi_sap_r3_solutions.pdf
    THANKS
    MRUTYUN

  • Labs of Build Application with ADF tutorial

    Hello, I am beginner of jdeveloper adf. I am looking a sample of book Oracle Fusion Middleware 11g: Build Application with ADF. Name of sample is lab. Inside a lab is Storefront-CompleteApp, Storefront-03, Storefront-04,... But I don't see anything on google. Where is the sample? Could you post the link to download. Thank you

    Hi,
    Please check.
    Fusion Demo
    http://www.oracle.com/technetwork/developer-tools/jdev/index-095536.html
    ADF Tutorials
    http://docs.oracle.com/cd/E18941_01/tutorials/toc.htm
    Shay's Blog
    https://blogs.oracle.com/shay/entry/how_do_i_start_learning_oracle_adf_and_jdeveloper
    Thanks,
    Jit

  • Build Application for Dynamic SubVI

    We have a Labview project for test different kinds of product, each product
    has a subVi which got called by project via Reference Node. The whole
    project works fine , that means the dynamic load in those subvi is right.
    When we build executable application for this project , the file can load
    some subVi, the test for this product can work , but some subvi can't loaded
    into memory, then the test for this product can't work.
    Any suggestion is appreciated.

    When you build your application, on the Source Files tab, click Add Dynamic
    VI and then select all of the VIs that you call by reference node.
    "Samuel Zhang" wrote:
    >>We have a Labview project for test different kinds of product, each product>has
    a subVi which got called by project via Reference Node. The whole>project
    works fine , that means the dynamic load in those subvi is right.>>When
    we build executable application for this project , the file can load>>some
    subVi, the test for this product can work , but some subvi can't loaded>into
    memory, then the test for this product can't work. >Any suggestion is appreciated.>

  • How to Build Attribute Dimension Dynamically & Load with LCM?

    Hi, I'm trying to modify the existing outline at cilent's site. For some reason, when I pulled the outline with extractor, it didnt come out in the format that is compatible with Outline Load Utility. I was told to use LCM so I may still load with minimal to no modification to the existing structure of outline.
    So can I build dimensions dynamically in EXCEL then load with LCM and push to Planning?

    The log came back with many unrecognized headers in the outline. I spoke to Oracle Support many times, and they said that the format of our outline is improper for Outline Load Utility to read.
    Since the outline has already been incorporated, we are not allowed to many any significant changes. That is why we were advised to use LCM.
    I tried to use a sample of one of the existing attribute dimensions in XML as the base and build the new attribute but it failed. I would appreciate if you can provide steps by steps resources to show how to add new attributes to the existing outline.

  • Building application with wordsub

    I am building an application that uses some of the report generation toolkit. If I build it, it comes up with errors relating the the wordsub.vi.
    I followed the guidance, which says to add in the Word Dynamic VIs.vi (as well as the Excel Dynamic VIs.vi). I add them in using the "add dynamic vi" button under source files. But during the build, I get the following error: Error 1003 occurred at C:\Documents and Settings\James Nauman\My Documents\LabVIEW Data\<"My application name">\internal.llb\_Word Dynamic VIs.vi
    My application is under a file in c: and the Word (Excel) Dynamic VIs.vi are in the original addon/wordsub dir.
    Jim

    Thanks, the Word Dynamic VI's.vi did have a broken arrow. I had to replace the write jpg vi, then everything worked.
    Is there a good reference for file structuring. It seems half my problems are related to vi's linking,relinking to somewhere else than where intended. I am trying to build several variations of one application with minor changes. I open vi (A) up and everything works. But, then I open up vi (B) and everything is linking to (A). I cure everything and close (B), but then when I go back and open (A) everything is linking back to (B). So on and so forth.
    I have up to 5 variations on an application, and pretty soon everything is linking all over the place.
    I need some basic references (with examples) of how to structure my librarys, directorys, applications, subvis, and what the differences all mean. The getting started with labView is too general. Are there any knowledge base areas discussing this and common errors?
    Thanks for the help.
    Jim

  • Error when building application with Excel included

    Hi All !
    I've read several post on problems with Report Generation Toolkit when building applications that uses Excel or Word interactivity.
    I've included both _Excel Dynamic VIs.vi and _Word Dynamic VIs.vi in my project and added them to the dynamic vis and support files.
    When building I get the error :
    The VI is broken. Open the VI in LabVIEW and fix the errors.
    C:\Programmer\National Instruments\LabVIEW 8.2\vi.lib\addons\_office\_exclsub.llb\_Excel Dynamic VIs.vi
    When opening that VI there is no broken arrow and all the vi's included in this is not broken either.
    I've tried mass compiling and so on but so far luck.
    Regards Morten Kahr
    Regards Kahr
    Certified LabVIEW Architect
    CIM A/S

    If you do a search on this forum you will find this to be a common and vexing problem. I myself had this same exact problem about a year ago, and it took me the better part of a day to track it down. As you will find by reading the various threads on this problem, there seems to be no specific cause for this, and it remains a mystery, and the solutions are no better than chanting voodoo, and probably just as effective.
    One thing you can try is to force a recompile of your VI hierarchy. Open you top-level VI. If it's set up to run when opened, stop it. Hold down the Control key and click the run button. This will force a recompile of the application. Sometimes this works, sometimes it doesn't. Like I said, voodoo.
    Another thing to look for is to check if you are using any diagram disable structures or case structures with a constant wired, as in trying to use the case structure to comment out code.
    Are you using classes and passing by reference? There was a mention of this here.

  • Problem building application with C++ 4.2 on Sun OS 5.9

    I have an application that builds fine with "WorkShop Compilers 4.2 30 Oct 1996 C++ 4.2" on SunOS devbox1 5.6 Generic_105181-33 sun4u sparc SUNW,Ultra-Enterprise
    On the same file system, I am trying to build the application on "SunOS devbox2 5.9 Generic_117171-12 sun4u sparc SUNW,Sun-Fire-V440"
    I see that files like sys/siginfo.h do not get included. I guess C++ compiler should include such files by default (in the first case it does happen).
    Also, when I add -H option to the compiler to see the header files included, I see that the headers included in the first as well as the second case are different.
    Does anyone know why this is so?

    Workshop 4.2 is not expected to work on Solaris 9. Workshop 4.2 is long past its End Of Service Life, and no support of any kind is available for it.
    You can download the latest product, Sun Studio 11, and use it for free:
    http://developers.sun.com/sunstudio/
    Sun Studio 11 C++ (C++ 5.8) offers a mode where it is compatible with C++ 4.2. It compiles valid source code that C++ 4.2 compiled, and you can link binaries created by C++ 4.2 into programs built with Sun Studio 11.
    Full details are in the C++ Migration Guide that comes with the compiler.
    Regarding missing system header files in /usr/include or /usr/include/sys:
    To compile programs on Solaris, Solaris must have been installed as a "developer" or "full" release. If you install only the minimum, you will be missing many features necessary for compiling programs.

  • Build application with conditional disabled VI's still tries to load them ...

    Hi,
    we have a big LV-project with some "conditional disabled" or with a "switch" unused VI's. But LabVIEW still tries to load them when building an application (even when they are not used). Is there a setting to prevent this behavior? Something like "ignore unused/missing VI's during built"?
    Thanks
    Peter

    The difference is disable structure and Conditional disable structure.  unconditionally disabled code can be broken as it cannot run.  Compare that to a case driven by a constant- the unreachable code is removed by the optomizer in certain conditions (We won't guess what conditions prohibit this optomization and it has been changeing a lot since 8.6 to 2013 I imagine it will continue to evolve) however, Because the optomization is not garanteed to occurr the unreachable code cannot be broken.  This is simillar to the conditional disable symbols- they are not evaluated untill runtime and the condition may depend on variables external to LabVIEW.  So, all cases must be compilable.
    @ Mike- Yup, I believe those symbols values CAN be manipulated external to the app instance (Certainly App.Kind comes to mind).  I don't have any experience doing that. 
    Jeff

  • Problem building exe with dynamic vi

    Hi all, i'm using LV 8.2 evaluation version to build an executable file for my test platform. This platform calls for individual test vis dynamically.
    I can export the platform vi into exe alright but it always fail to run the test vis dynamically when called by the platform. I know the platform is working alright as it's able to successfully traverse through all my operating states, but when it comes to the state which contains a subVI which calls these test vis dynamically, nothing happens and it just proceed with the next state. The even wierder thing is that the program then enters my default state (which isn't even on the list of states for that particular operating mode!)
    Based on this result i can say that the platform is working fine as it was able to call various subvis and traverse through the defined states (except for the default state case). Thus i guess it must be something which i did wrongly during the build process which caused it not to run my dynamic test vis. I spent the whole day trying various build options but it still doesn't run my dynamic vis.
    Any ideas?
    PS: Does the build process automatically import the MAX settings?

    No, it's not a cracked version just to make myself clear.
    Dennis, i don't think it's a problem with the path as the exe does not have any problem loading other text configuration files. Yes, i've included them under the dynamic vi and support files option.
    Attachments:
    Build option for LV8.2 eval.JPG ‏31 KB

Maybe you are looking for