Application builder subvi
I'm just learning to use the application builder, my interest is in creating a stand alone application & installer.
Is it possible to generate a single executable file which contains the top level VI as well as all of its sub-Vis ?? If the answer is NO, then where (and as what) should all of the subvis be saved so as to maintain maximum simplicity and portability?
I haven't yet found a gold mine of resources/tutorials on using the Application builder, are they hidding from me?
Thanks, Kevin
LV 8.2.1
If you aren't using dynamic VIs (as opened by 'Open VI Ref') you will automatically include all subVIs into the executable.
That's about all their is to be said.
Ton
Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
Nederlandse LabVIEW user groep www.lvug.nl
My LabVIEW Ideas
LabVIEW, programming like it should be!
Similar Messages
-
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
Attachments:
sum1.vi 12 KB
sum2.vi 14 KBRoberto 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
CIT Engineering Netherlands
a division of Test & Measurement Solutions -
Application builder-Office report generation toolkit
Hi,
I remember there was a trick to get the executable work with different
versions of Microsoft office but I cannot find it now. The problem it to get
the exe work with some other office version that it was made. I use LabVIEW
7.0 - 7.1 and Report generation toolkit 1.01 for Microsoft office. Was that
possible?
Thanks EkiEki,
When you use the Report Generation Toolkit to build a stand-alone application with the Application Builder, you must add _Word Dynamic VIs.vi from _wordsub.llb and _Excel Dynamic VIs.vi from _exclsub.llb as dynamic VIs. These two VIs contain subVIs that are called dynamically by the high-level Report Generation VIs. I believe that if you grab these VIs from the (desired office version part of the) installation CD instead of from the development machine, then everything should work.
Zvezdana S. -
Can't remove Front Panels in Application Builder
I have had a few issues using Application Builder (v7.1) in regards to it removing or not removing front panels for my subvi's when I was trying to compile. Here are the conclusions I came to if anyone else runs into the problems I had.
Problem 1) Some of the front panels were being removed for dynamically loaded VI's, which were not set as dynamic VI's in the Application Builder, but which were static-linked VI's in the program (so they were loaded in memory as linked subvi's but called dynamically). When the Application Builder decided to remove the front panel for those VI's, there was an error when loading them dynamically.
Problem 2) Some of the front panels were NOT being removed for subvi's that I didn't want to have their front panel built into the compiled program. Loading front panels that are not needed uses extra memory, but there was no way to change the option to not load the front panel for certain particular subvi's in Application Builder--the option was grayed out.
For problem 1, I decided not to worry about linking the files dynamically in the Application Builder, but to just make sure the Application Builder would include their front panels. For problem 2, I had to figure out what was making Application Builder force the front panels to be included when I deemed it unnecessary, so that I could fix them not to be included. Basically then, going through my VI's that were forcibly included, I came up with a list of stuff I began checking for each time I would run into one where I didn't want to include the front panel. I have attached my list to this post.
My solution for problem 1 was then to use a customized appearance for my static-linked / dynamically loaded VI's, and disable the menu bar (forces the front panel to be included by Application Builder without changing appearance, since I never actually see the FP). My solution for problem 2 was often to remove property nodes referencing text on the front panel controls. Sometimes I was able to perform a numeric->text or enum->text conversion instead of referencing the text of the control itself, and sometimes I realized I didn't want anything to change and that it was ok to include the front panel so I could (for example) get a list of strings for my enum control.
I have attached the reference list I came up with of things to check for to make sure your VI properties are set correctly if you are trying to get Application Builder NOT to include the front panel of your subvi. The list might not be complete, but it's helped me to narrow down things very quickly and find the problems I was having.
Attachments:
ThingsToCheck.doc 61 KBm3nth wrote:
Problem 1) Some of the front panels were being removed for dynamically loaded VI's, which were not set as dynamic VI's in the Application Builder, but which were static-linked VI's in the program (so they were loaded in memory as linked subvi's but called dynamically). When the Application Builder decided to remove the front panel for those VI's, there was an error when loading them dynamically.
This is expected behaviour. The application has no way of knowing that these VIs will at some time be called dynamically. That would require analysing and understanding the entire program and in cases where you calculate the dynamic VI to be called at runtime it still wouldn't be feasable to do so.
m3nth wrote:
Problem 2) Some of the front panels were NOT being removed for subvi's that I didn't want to have their front panel built into the compiled program. Loading front panels that are not needed uses extra memory, but there was no way to change the option to not load the front panel for certain particular subvi's in Application Builder--the option was grayed out.
There are several reasons why a front panel is needed. One of them is when the VI is called dynamically, even if the FP is never displayed and AppBuilder will account for that for VIs which have been added as dynamic VI to the project.
The other is when a VI uses some Property Nodes or Attribute Nodes as they are called now.
So to solve your problem 1) you could also just drop some property node in the diagram of such VIs and be done with it.
Rolf Kalbermatter
Rolf Kalbermatter
CIT Engineering Netherlands
a division of Test & Measurement Solutions -
Application builder (using OpenG source)
I just made a LV program and executable thing in LV8.2.0.
Only one function (for converting cluster->ini) from OpenG was used to make the program easily.
When I copy the program folder, so many OpenG (maybe related to the converting routine) codes were created in subVI folder.
My question is,
1. In distributing source code, Is there some DLL or convenient format file for OpenG not to copy many Vis?
2. In making executable program by NI-application builder, how to treat the OpenG library if I have only one Vi ?
And as other question,
3. In NI buidler, the external libraries (run-time/DAQ/VISA) may be rather big.
How can I make the whole program( application+libraries installer) as small as possible?labmaster wrote:
1. In distributing source code, Is there some DLL or convenient format file for OpenG not to copy many Vis?
2. In making executable program by NI-application builder, how to treat the OpenG library if I have only one Vi ?
And as other question,
3. In NI buidler, the external libraries (run-time/DAQ/VISA) may be rather big.
How can I make the whole program( application+libraries installer) as small as possible?
3: The DAQmx installer has several versions the smallest being 40 MB? and the largest 150 or something.
I think the VISA installer has the same options.
Ton
Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
Nederlandse LabVIEW user groep www.lvug.nl
My LabVIEW Ideas
LabVIEW, programming like it should be! -
Application builder missing files
Hi all,
I'm new to LabView and I'm trying to deploy an application as an executable. I'm running LabView 2009 on Win XP Pro. I have the application builder and ran the application builder tutorial. The tutorial worked fine, but doing the same steps on my project that calls sub-VIs from several different libraries didn't work. I'm not trying to build an installer yet, just a stand alone executable running on a machine with the LabView run time framework already installed. I'm not calling anything by reference, all sub-VIs are called explicitly.
The VI I'm trying to deploy works fine running in LabView. Application builder successfully generates an executable. When the executable is run, it pops up a dialog looking for a bunch of sub-VIs. I attached a copy of the executable prompting me for a sub-VI contained in vi.lib
First, is there a user's manual or something like that for Application Builder? LabView Help describes how to create a stand alone executable but doesn't describe all the settings in detail. I probably just have one of the settings wrong.
Any other thoughts or suggestions on what to try next?
Thanks in advance for your help.
Solved!
Go to Solution.
Attachments:
app builder error.JPG 21 KBLV2011SP1
I have been developing in the directory
C:\Program Files\National Instruments\LabVIEW 2011\user.lib
The source code is located in a subfolder in the "user.lib" folder
The builds go into the destination subfolder "user.lib\builds"
The executable built returns an error when it is run. It can't find one of the subvis.
The subvi in question is listed under the dependencies for the main vi in the project.
I copied the devlopmentto a new location, namely
C:\Users\Me\Documents\LVcode\builderErrorTestFolder
The executable built within this new project ran without error on the development machine, but the executable built with the installer in this project will not run on a non-development machine. In the case of the executable installed on a non-development machine, the error is a "can't find vis" error, but it is limited to NI_AALPROLvlib files and NI_AALBaseLvlib files
What could be the problem?
Attachments:
cantFindFile.jpg 161 KB
willNotFindNI_AALPROLvlibPwrSpectrm.png 150 KB -
Application builder error.llb
Hi all,
I'm using application builder to compile an executable of my VI. Compile runs without a hitch.
However, when I try to launch the .exe three subvis from error.llb are missing : Not Found Dialog.vi, Details Display Dialog.vi and Set String Value.vi
The compiled .exe seems to be looking for these VIs in instr.lib, which is nowhere to be found in the compile folder.
This happens even on my developpment machine, on which, of course, the VI runs fine from within LabView.
Did I miss something during the compiler setup ?
Thanks in advance for your help !
Nico
Solved!
Go to Solution.I've had this before, and it was reported by NI as being a bug that comes from loading up a project that was built in an older version of LabVIEW and creating an application from it. For me it was loading a LV8.5 project into 8.6.
The only workaround was to add the three missing vi's to the project, and ensure they are added to the Always Included list within the application builder.
You will find these vi's in Program Files\National Instruments\LabVIEW 8.x\vi.lib\Utility\error.llb. Simply add them to your project somewhere, then in application builder made sure you select them as Always Included in the Source Files section, then rebuild your application.
Message Edited by Thoric on 03-13-2009 03:52 PM
Thoric (CLA, CLED, CTD and LabVIEW Champion) -
Folder of application builder(*.exe) with run-time DLL
My application consists of main.vi, subvi folder, and example folder.
In addition, I have to add the run-time libraries for add-on tool kit (advanced signal processing, lvwa.dll) which should be located in the root folder.
(For exe application, can I set the location of DLLs to not the root folder but "DLL folder"?)
In my several trials, I can't maintain the hierachy of "example folder".
Instead of my intension, the NI application builder copied the files in the folder to the support directory.
Can I locate the "example folder" to the root folder by using NI application builder?
In summary, I want to get the folder structure by application builder.
main.exe, DLL folder, Example Folder.
메시지가 08-08-2008 01:30 AM에 labmaster에 의해 편집되었음Hey Labmaster,
What version of LabVIEW are you using?
I am not too clear as to what you are trying to do. You can create folders and add anything from your project when creating an installer under the Source Files section in its properties.
It might be easier if you'd attach a screen shot of what you are doing or trying to do.
Aashish M
Applications Engineer
National Instruments
http://www.ni.com/support/ -
I build a lot of executables using Application Builder under LabVIEW and in every one I build, I don't want the top level vi to take off and run when I open the executable. Currently, I edit each .exe I build within Application Builder and change the option of "run when opened" from Yes to No for the top level vi. All the other subvi's are already set to No. It would seem as though there should be some way to "turn this off" if you will so the top level vi is not always set to "run when opened" by default within Application Builder. Is there such a solution that anyone knows of?? Any help would be apprec
iated... thanks...Indeed the Application builder forces "run when opened" to true for top levels VIs. If you don't want your VI to make any real work when the application starts, you should simply put a do-nothing loop in the beginning of the VI that will loop until the user presses a boolean. It will be more intuitive for users to press a Run button on the FP than clicking on the white Run arrow in the bar.
LabVIEW, C'est LabVIEW -
Problem with logging in to apex application builder listener
I have problem with my settings and am posting this in hope that someone else out there had similar problem and solved it!
I am trying to use reverseproxy to access to our db through apex listener.
It's been all set-up and I can login to the application it self either through proxy or no proxy using the listener.
But when I try to login to apex application builder I cannot do it through proxy(with no proxy, it works).
It just refreshes the login page when I click login....
I tried to upgrade the listener to the latest v1.1(using 1.0.2) but it causes my tomcat to crash...
So solution i am looking for is how to make logging in work through proxy..
In the firebug it is showing that below and few other request status as 302 moved temporariry
http://myserver:8080/testsin/apex/wwv_flow.accept
Where as with no proxy it is saying Found.....
Any thoughts??
Thanks
Sin KHello Sin K,
so proxy and Tomcat are located on different machines as well? Is the proxy able to commuicate with the Tomcat on the configured internal ports and is the proxy able to lookup the hostname you configured for the Tomcat?
For the connector, the proxyName and proxyPort should be the parameters the client uses to call APEX. So if your clients should call via http://proxyserver:8080/testsin/apex the settings would be
proxyName=proxyserver
proxyPort=8080Reason for this is that applications (e.g. the APEX Listener) generate there URL references with these parameters.
But does your proxy actually serve on port 8080? And is that port accessible by clients? Do clients accept cookies from that server?
In my case, there is only one 302 which redirects to http://host:port/apex/f?p=4500:1000:sessionid which is correct.
If you look into your first post request in firebug, what's in the request header?
-Udo -
Report Generation for Excel does not work after using the Application Builder
I have a VI that writes data to an Excel file using the Report Generation Toolkit. I recently compiled the VI into a single Application (EXE) using the Application Builder. My VI runs its tests properly, but no data is written to Excel. What could be the cause? I don't receive any error messages.
Hi
I usually build exe-files, which sometimes also have report functionality.
Open the Application Builder and check the following things:
1. Add the following vis: _Word Dynamic VIs.vi, _Excel Dynamic VIs.vi They should be located in the directory ..\LabVIEW X.X\vi.lib\addons\_office in the llbs _wordsub.llb and _exclsub.llb (report1.jpg)
2. If you use an Installer, go to the Advanced Settings. There you can select some things to include in the Installer. Check if "NI Reports Support" is selected. (report2.jpg)
These are the things I always do, if I need reports and I never had problems up to now. I made two screen-shots of these settings.
Hope this helps.
Thomas
Using LV8.0
Don't be afraid to rate a good answer...
Attachments:
report.zip 25 KB -
The executible I build with the application builder does not function the same as my VI file.
I am using a USB 6008 device with the newest DAQmx drivers and Labview
8.2 to make analog voltage readings. Within my main VI I first
create a data folder in the same location as the VI using a property
node and then use case statements to call two sub VIs that create a
data file within the data folder and then collects data. When I use the
application builder to create an executible the resulting file does not
operate the same as the origional VI. The program appears to be
reacting to button presses on the GUI, but there is no indication that
the data folder is being created or that any measurements are buing
made. Are there any known issues that may account for this
anomily?
-Mike
Message Edited by TMBurleson on 10-16-2006 03:09 PMAre you using the VI Path property, using a reference to the current VI?
I could be wrong, but if you're attempting to use a path relative to the current VI, I think that does indeed change in a built application. If your VI used to be C:\somewhere\foo.VI, then after building its path would actually be C:\somewhere\foo.EXE\foo.vi . Thus, if foo.VI used to try to make a folder like C:\somewhere\datafolder, the built application would be trying to make C:\somewhere\foo.EXE\datafolder , which wouldn't work.
This is sort of a shot in the dark, but does this sound like it might be the case?
EDIT: Dennis beat me to it.Message Edited by kehander on 10-16-2006 03:26 PM -
Problem with "Application Builder"
Hello!
I have problem when I am using application builder to convert my program to exe files. MY PROGRAM: I use a main program to copy a template VI in to other VI´s, and then I can execute the copied VI´s from main. When I have tried to convert my program to a EXE file, everything works but not executing the copied VI. The following error messages apperies when I try to execute the copied VI. What does this mean???
BR
Kristian K
Attachments:
error.jpg 152 KBHello!
Information for users on this discussion forum: the problem was due to 'Build Text' function and when that function was removed the program worked fine. The functionality in the 'Build Text' function could easily be replaced by the 'Format Into String' function.
Regards,
Jimmie A.
Applications Engineer, National Instruments
Regards,
Jimmie Adolph
Systems Engineer Manager, National Instruments Northern Region
Bring Me The Horizon - Sempiternal -
Problem with Application build in JDeveloper 11.1.5 to WLS 10.3.5
Hi to everyone, I have a problem with a application build in JDeveloper 11.1.5 and deployed to a standalone WLS 10.3.5 ( with the JRF template appliied , to run adf applications )
When I try access to the page : localhost:7001/myApp , it show me :
"Error 403 Fordbbiben ".
but when I put :
localhost:7001/myApp/index.jspx, it show me :
Error 500--Internal Server Error
From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:
10.5.1 500 Internal Server Error
The server encountered an unexpected condition which prevented it from fulfilling the request.
and the log is :
<May 8, 2012 9:06:22 PM BOT> <Warning> <oracle.adf.view.rich.component.fragment.UIXRegion> <BEA-000000> <
java.lang.IllegalStateException: The expression "#{bindings.genRegion.regionModel}" (that was specified for the RegionModel "value" attribute of the region component with id "genRegion_dlg") evaluated to null.
This is typically due to an error in the configuration of the objects referenced by this expression.
If it helps, the expression "#{bindings.genRegion}" evaluates to "null".
If it helps, the expression "#{bindings}" evaluates to "null". Now using an empty RegionModel instead.
at oracle.adf.view.rich.component.fragment.UIXRegion.getRegionModel(UIXRegion.java:450)
at oracle.adf.view.rich.component.fragment.UIXRegion._beginInterruptibleRegion(UIXRegion.java:682)
at oracle.adf.view.rich.component.fragment.UIXRegion.processRegion(UIXRegion.java:498)
at oracle.adfinternal.view.faces.taglib.region.RegionTag.doStartTag(RegionTag.java:127)
What can I do to fix the problem ??
ThanksAnalyzing the problem, I created a new ADF application with only a web page (index.jspx) , and deploy it to the WLS, and I access to URL of page and it runs !! ( http:localhost:7001/myApp/faces/index.jspx ).
But, when I ADD A TASK FLOW to the application and deploy to the WLS newly , and try to access to the URL application's ( http:localhost:7001/myApp/faces/index.jspx ) . It show me again :
Error 500--Internal Server Error
From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:
10.5.1 500 Internal Server Error
The server encountered an unexpected condition which prevented it from fulfilling the request.
and the log is :
<May 10, 2012 19:02:57 PM BOT> <Warning> <oracle.adf.view.rich.component.fragment.UIXRegion> <BEA-000000> <
java.lang.IllegalStateException: The expression "#{bindings.genRegion.regionModel}" (that was specified for the RegionModel "value" attribute of the region component with id "genRegion_dlg") evaluated to null.
This is typically due to an error in the configuration of the objects referenced by this expression.
If it helps, the expression "#{bindings.genRegion}" evaluates to "null".
If it helps, the expression "#{bindings}" evaluates to "null". Now using an empty RegionModel instead.
at oracle.adf.view.rich.component.fragment.UIXRegion.getRegionModel(UIXRegion.java:450)
at oracle.adf.view.rich.component.fragment.UIXRegion._beginInterruptibleRegion(UIXRegion.java:682)
at oracle.adf.view.rich.component.fragment.UIXRegion.processRegion(UIXRegion.java:498)
at oracle.adfinternal.view.faces.taglib.region.RegionTag.doStartTag(RegionTag.java:127)
Why it show me that error when I ADD a Task Flow to the Application ???
Can Anyone help me please ?? I m varios days with this problem. Thanks -
Application Builder and Closing
Hi
Already, another problem has arisen. I have developed a simple VI with no big thing inside. I am using an event structure for handling button presses. To quit my application, I have one button, labeled Quit (who would've guessed) which quits the application. I simply wired that button to the quit terminal of the event structure (ok, to the quit terminal of the while structure around the event structure).
I have also built this application with the Application Builder into a .exe file. I managed to get that Run/Pause buttons away. by checking the appropriate checkboxes inside AppBuilder. But now, what happens is as follows:
* I quit my application by using the red X of the window - everything closes down fine, the window disappears *perfect*
* I quit my application by using the button - the program stops, but the run button appears.
How can I avoid that behaviour?
Thanks for your adviceThere's a function in Application Control which is used to close LV once everything's done executing. Be careful when using it while developing, as it will close all open vi's. Granted you get the option to save them, but it's annoying nonetheless.
See the attached image
Message Edited by Novatron on 07-10-2006 11:17 AM
Attachments:
Quit.jpg 4 KB
Maybe you are looking for
-
Connecting 32 bit XP machine across network to HP Laserjet 2200d on Windows 7 64 bit machine
I am trying to connect a 32bit machine running Windows XP across the network to an HP 2200d Laserjet Series PLC 5 printer installed on a 64 bit machine running Windows 7 - The printer can be seen by the XP machine across the network but when I tried
-
Passing Header Data in BAPI_CONTRACT_CREATE from BODS
Hi all, I am new to BODS. I am trying to create contract using BAPI_Contract_Create from BO-Data Services XI 3.2 to ECC 6.0. In the New Function Call, while defining the "Input Parameters" for Header (and HeaderX), I can only select single column. Ac
-
When exporting a video slideshow to my desktop it will start and then just end with no progress so I have to close it out. I get no warnings or any explanations. Any ideas? I am running Windows 7. No problem viewing it in LR. Thanks
-
Please help me with this code. I would like to be able to connect java to one small table in MS Access that only has ID numbers and match those same ID numbers to the master list and then pull the info from the master list for that row with the match
-
Connection reset by peer:/Broken pipe using JTurbo JDBC Driver
I am using the JTurbo JDBC driver to connect to a SQL Server 7.0 database. I am using Connection Pooling. After roughly an hour or so, I am no longer to get connections from the pool. Exceptions thrown are "connection reset by peer", followed by "Bro