Academic Company Events Community Support Solutions Products & Services Contact NI MyNI
4 ratings:
 4.75 out of 5   

LabVIEW Image Table Filling Can Cause Build Failures



Primary Software:
Primary Software Version: 1.0
Primary Software Fixed Version: N/A
Secondary Software: N/A

Problem:
I have a large application that fails to build.  Application builder reports error 1 at save.instrument for random VIs in my program.  All of these VIs are executable and can be built individually.  Also, LabVIEW reports an internal warning:

image.cpp(XXX) : DWarn: You filled the image table.

What is going wrong and how is this solved?

Solution:
LabVIEW has an internal image table that stores images it uses. One example of this is the VI icon.  Because this can be changed by the user, LabVIEW needs to load an image for it into the image table.

When the image table becomes full, a DWarn is recorded to the log file. This isn't a fatal error, but it can cause other problems especially in building an application.  In the reported cases of this, the applications being built were over 10,000 VIs.

This issue was reported as CAR 308464 and is fixed in the LabVIEW 2011 f2 patch. A fix was added that only loads VI icons when they are needed. This drastically reduces the number of images used during the build process.

Additionally, the LabVIEW Image Table capacity was increased in the LabVIEW 2015 SP1 f5 patch in order to minimize Image Table errors.

Implementing the fix:
The fix described above was implemented behind an ini token. It will not be on by default. To enable this fix you will need to add lazyLoadIcons=True to the LabVIEW.ini file that is located next to LabVIEW.exe. This will instruct LabVIEW to load the VI icons when they are needed. This drastically lowers the total number of images that are needed to build large applications.

When this ini token is enabled, VIs built into executables will be missing their icon as shown below. This is a side affect of not loading the icon when building the executable. You have two options to get around this. The first option is to change the Window Appearance to not show toolbar when running. This setting is changed from the VI Properties » Window Appearance menu. Many stand alone programs have this option disabled. The second option is to call out VIs that need their icon loaded in the LabVIEW.ini file. To do this you will need to add the following token:

visWithIcon="vi_name_1.vi;vi_name_2;vi_name_3.vi"

vi_name_x.vi refers to the names of the VIs that you want to show the icon of in an executable. Do not use any namespacing; only use the name of the VI.

If you have further questions please contact National Instruments Support.



Related Links:
KnowledgeBase 5OTCMQWI: LabVIEW 2011 f2 Patch Details

Attachments:





Report Date: 07/27/2011
Last Updated: 11/15/2016
Document ID: 5NQC7CWI

Your Feedback! poor Poor  |  Excellent excellent   Yes No
 Document Quality? 
 Answered Your Question? 
  1 2 3 4 5
Please Contact NI for all product and support inquiries.submit