<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://labviewwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Flarn2006</id>
	<title>LabVIEW Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://labviewwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Flarn2006"/>
	<link rel="alternate" type="text/html" href="https://labviewwiki.org/wiki/Special:Contributions/Flarn2006"/>
	<updated>2026-05-09T11:55:06Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=XNODE_File_Extension&amp;diff=31596</id>
		<title>XNODE File Extension</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=XNODE_File_Extension&amp;diff=31596"/>
		<updated>2022-02-12T19:39:56Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: Fix capitalization and punctuation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the file extension for [[XNodes]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Xnode]]&lt;br /&gt;
[[Category:LabVIEW file extensions]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=External_Node&amp;diff=31595</id>
		<title>External Node</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=External_Node&amp;diff=31595"/>
		<updated>2022-02-12T19:38:58Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: Add Xnode category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An &#039;&#039;&#039;External Node&#039;&#039;&#039; (also formerly known as an XNode, not to be confused with the [[XNode|current meaning]] of that term) is a [[subVI]] whose code determines not only its function, but also its edit-time appearance and behavior. They are similar to modern [[XNodes]] in this respect, but while an XNode is a library containing several Ability VI&#039;s, an External Node is a single VI containing a case for each ability. The name of an External Node VI must begin with the characters &amp;quot;;D&amp;quot;, not including quotes.&lt;br /&gt;
&lt;br /&gt;
Much like XNodes, External Nodes are not an officially-supported technology for third-party development.&lt;br /&gt;
&lt;br /&gt;
[[Category:Xnode]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=External_Nodes&amp;diff=31594</id>
		<title>External Nodes</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=External_Nodes&amp;diff=31594"/>
		<updated>2022-02-12T02:14:00Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: Update redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[External Node]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=External_Node&amp;diff=31593</id>
		<title>External Node</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=External_Node&amp;diff=31593"/>
		<updated>2022-02-12T02:13:37Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: Created page with &amp;quot;An &amp;#039;&amp;#039;&amp;#039;External Node&amp;#039;&amp;#039;&amp;#039; (also formerly known as an XNode, not to be confused with the current meaning of that term) is a subVI whose code determines not only its...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An &#039;&#039;&#039;External Node&#039;&#039;&#039; (also formerly known as an XNode, not to be confused with the [[XNode|current meaning]] of that term) is a [[subVI]] whose code determines not only its function, but also its edit-time appearance and behavior. They are similar to modern [[XNodes]] in this respect, but while an XNode is a library containing several Ability VI&#039;s, an External Node is a single VI containing a case for each ability. The name of an External Node VI must begin with the characters &amp;quot;;D&amp;quot;, not including quotes.&lt;br /&gt;
&lt;br /&gt;
Much like XNodes, External Nodes are not an officially-supported technology for third-party development.&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Express_VI&amp;diff=31592</id>
		<title>Express VI</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Express_VI&amp;diff=31592"/>
		<updated>2022-02-10T03:03:34Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: Add basic description&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
An &#039;&#039;&#039;Express VI&#039;&#039;&#039; is a special type of [[subVI]] that is configured using a dialog box. LabVIEW ships with many Express VI&#039;s, and more can be created from Tools→Advanced→Create or Edit Express VI.&lt;br /&gt;
&lt;br /&gt;
[[Category:Express VI]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Enumerated_type&amp;diff=31591</id>
		<title>Enumerated type</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Enumerated_type&amp;diff=31591"/>
		<updated>2022-02-09T03:25:34Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: /* Shortcomings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCnestright}}&lt;br /&gt;
Located under the Ring &amp;amp; Enum palette, a LabVIEW enumerated type is used to associate a &#039;&#039;&#039;sequential&#039;&#039;&#039; numerical value to a programmer defined string&lt;br /&gt;
&lt;br /&gt;
[[Image:Enum_Palette_Location_LV_7.1_and_below.png|frame|center]]&lt;br /&gt;
&lt;br /&gt;
== Potential Uses ==&lt;br /&gt;
Enum&#039;s can be used with a case selector to provide the programmer an easy way to select a case based on a constant name instead of a number or a string.&lt;br /&gt;
&lt;br /&gt;
[[Image:Enum_connected_to_case_structure.png|frame|center]]&lt;br /&gt;
&lt;br /&gt;
Typedef&#039;d Enum&#039;s are often used in [[State Machines]] to provide the programmer an easy way to select new cases without having to worry about spelling mistakes.&lt;br /&gt;
&lt;br /&gt;
== Recommendations ==&lt;br /&gt;
Enums are most commonly used to define a fixed list of cases. If the enum will be used as an input or output on the connector pane of a VI, it should be defined as a [[typedef]]. Any changes to the [[typedef]] can be automatically propagated to controls, indicators and constants created from the vi&#039;s connector pane.&lt;br /&gt;
&lt;br /&gt;
== Shortcomings ==&lt;br /&gt;
LabVIEW enumerated types do not allow for non-sequential values, or what might be known as sparse enums. A [[Ring Constant]] or [[Ring Control]] can be used for this purpose, though the data type will just be a regular integer.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Enum_properties_page.png‎|frame|center]]&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Enumerated_type Enumerated type]&lt;br /&gt;
&lt;br /&gt;
[[category:data types]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Ned_options&amp;diff=31590</id>
		<title>Ned options</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Ned_options&amp;diff=31590"/>
		<updated>2022-02-09T03:23:07Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Ned, the friendly configuration manager&#039;&#039;&#039; is a debug feature of [[LabVIEW]] in form of a window with list of options. The private, internal set of settings available on that list allow changing various aspects of LabVIEW inner mechanisms.&lt;br /&gt;
&lt;br /&gt;
These settings are not saved across LabVIEW sessions, but many of the options are also valid [[LabVIEW configuration file]] keys.&lt;br /&gt;
&lt;br /&gt;
== Enabling Ned Options ==&lt;br /&gt;
&lt;br /&gt;
Like [[Heap Peek]], Ned Options keyboard shortcut is by default disabled in fresh installations of [[LabVIEW]]. To enable it:&lt;br /&gt;
* Close LabVIEW&lt;br /&gt;
* Put the key &amp;quot;LVdebugKeys=True&amp;quot; in your [[LabVIEW configuration file]]&lt;br /&gt;
&lt;br /&gt;
Then, to trigger the Ned Options window:&lt;br /&gt;
* Open your VI&lt;br /&gt;
* Press CTRL+SHIFT+D+N. On Mac, use the command key instead of CTRL. This will open the Ned Options window.&lt;br /&gt;
&lt;br /&gt;
== Using Ned Options ==&lt;br /&gt;
&lt;br /&gt;
Clicking once on a option will switch it, cycling through two or more values.&lt;br /&gt;
&lt;br /&gt;
[[Category:Debugging]]&lt;br /&gt;
[[Category:LabVIEW internals]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Heap_storage_format&amp;diff=31589</id>
		<title>Heap storage format</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Heap_storage_format&amp;diff=31589"/>
		<updated>2022-02-09T03:20:38Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: Fix &amp;quot;Resource ID&amp;quot; link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Front Panel]] and [[Block Diagram]] of a [[VI|VI file]] are internally called Heaps. Across versions of [[LabVIEW]], several storage formats were used for these heaps.&lt;br /&gt;
&lt;br /&gt;
The format used in currently opened &#039;&#039;VI file&#039;&#039; can be selected in [[Ned options]]. The format used in new &#039;&#039;VI files&#039;&#039; depends on the version of LabVIEW.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Changing the Heap Storage format in Ned may cause your VI to no longer open! Make sure to experiment on scrap copies of files.&lt;br /&gt;
&lt;br /&gt;
== Binary format 1 ==&lt;br /&gt;
&lt;br /&gt;
Used in first versions of LabVIEW. Has [[Resource_Container#Known_Resources|Resource ID]] of &#039;&#039;FPHP&#039;&#039; and &#039;&#039;BDHP&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Binary format 2 ==&lt;br /&gt;
&lt;br /&gt;
First update of the format, prepared to handle separation of [[Type descriptor|Type Descriptors]] from heap data. Has [[Resource_Container#Known_Resources|Resource ID]] of &#039;&#039;FPHb&#039;&#039; and &#039;&#039;BDHb&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Binary format 3 ==&lt;br /&gt;
&lt;br /&gt;
After this update, all data stored within heap was separated from the main heap tree, dividing heap into two blocks: structure and data. Has [[Resource_Container#Known_Resources|Resource ID]] of &#039;&#039;FPHc&#039;&#039; and &#039;&#039;BDHc&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Verbose Tagged Text ==&lt;br /&gt;
&lt;br /&gt;
A text based format, created to be easily readable by humans. Has [[Resource_Container#Known_Resources|Resource ID]] of &#039;&#039;FPHT&#039;&#039; and &#039;&#039;BDHT&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== XML format ==&lt;br /&gt;
&lt;br /&gt;
Since the structure of the heap fits XML format perfectly, would be a sin not to add such option.&lt;br /&gt;
Has [[Resource_Container#Known_Resources|Resource ID]] of &#039;&#039;FPHX&#039;&#039; and &#039;&#039;BDHX&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Category:LabVIEW internals]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Resource_Container&amp;diff=31588</id>
		<title>Resource Container</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Resource_Container&amp;diff=31588"/>
		<updated>2022-02-09T03:19:54Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: /* Known Resources */ Added another VITS example&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Resource Container&#039;&#039;&#039; file format is a most often used file format within LabVIEW ecosystem. It is a proprietary binary format defined by [[National Instruments]] and used in both [[LabVIEW]] and [https://en.wikipedia.org/wiki/LabWindows/CVI LabWindows/CVI]. The format is strongly inspired by [https://en.wikipedia.org/wiki/Resource_fork Mac OS Resource Fork format], as LabVIEW was originally created for that platform, and ported to other OSes later, at [[LabVIEW 2.0|version 2.5]].&lt;br /&gt;
&lt;br /&gt;
The format is a container, storing a group of &#039;&#039;&#039;Resources&#039;&#039;&#039;. Resources have &#039;&#039;&#039;4-character identifier&#039;&#039;&#039; assigned, and the 4-character identifier for the whole container is &#039;&#039;RSRC&#039;&#039;. Most files used by LabVIEW have that &#039;&#039;RSRC&#039;&#039; format, only the specific &#039;&#039;&#039;Resources&#039;&#039;&#039; stored inside are different. The files with that header include [[VI File Extension|&#039;&#039;*.vi&#039;&#039;]], [[CTL File Extension|&#039;&#039;*.ctl&#039;&#039;]], [[MNU File Extension|&#039;&#039;*.mnu&#039;&#039;]], [[LLB File Extension|&#039;&#039;*.llb&#039;&#039;]], [[DLOG File Extension|&#039;&#039;*.dlog&#039;&#039;]], [[CTT File Extension|&#039;&#039;*.ctt&#039;&#039;]], [[VIT File Extension|&#039;&#039;*.vit&#039;&#039;]], [[UIR File Extension|&#039;&#039;*.uir&#039;&#039;]], [[RSC File Extension|&#039;&#039;*.rsc&#039;&#039;]], and many  created with, or internally used by, LabVIEW.&lt;br /&gt;
&lt;br /&gt;
The resources stored within have their identifiers often identical to those in &#039;&#039;Resource fork&#039;&#039; format, but many new ones are also introduced. Some resources have multiple variations, as their structure changed between versions of [[LabVIEW]].&lt;br /&gt;
&lt;br /&gt;
==Known Resources==&lt;br /&gt;
&lt;br /&gt;
Below a few resources are listed. Note that the text names given for them are mostly informed guesses.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Resource ID&lt;br /&gt;
! Long Name&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|MUID&lt;br /&gt;
|Map Unique Identifier&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FPSE&lt;br /&gt;
|Front Panel Size Estimate&lt;br /&gt;
|Optional resource which can be used to optimize memory allocation when loading the VI file. Contains one integer value, which seem be amount of tags within Front Panel Heap divided by 10. See also: &#039;&#039;BDSE&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|FPTS&lt;br /&gt;
|Front Panel Tags&lt;br /&gt;
|Contains data for tags set on front panel objects using the [[Generic class/Tag.Get Tag method|Get Tag]] method.&lt;br /&gt;
|-&lt;br /&gt;
|FPTD&lt;br /&gt;
|Front Panel Type for DataLog&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BDSE&lt;br /&gt;
|Block Diagram Size Estimate&lt;br /&gt;
|Optional resource which can be used to optimize memory allocation when loading the VI file. Contains one integer value, which seem be amount of tags within Block Diagram Heap divided by 10. See also: &#039;&#039;FPSE&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|BDTS&lt;br /&gt;
|Block Diagram Tags&lt;br /&gt;
|Contains data for tags set on block diagram objects using the [[Generic class/Tag.Get Tag method|Get Tag]] method.&lt;br /&gt;
|-&lt;br /&gt;
|FLAG&lt;br /&gt;
|Integer flags&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CONP&lt;br /&gt;
|Connector Port Type Map&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPTM&lt;br /&gt;
|Connector Port Type Map&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPC2&lt;br /&gt;
|Connector Port Content Type v2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPCT&lt;br /&gt;
|Connector Port Content Type&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPD2&lt;br /&gt;
|Connector Port DI v2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPDI&lt;br /&gt;
|Connector Port DI&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DLGH&lt;br /&gt;
|Dialog HTML&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ERRH&lt;br /&gt;
|Error HTML&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HLPT&lt;br /&gt;
|Help Tag&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|MItm&lt;br /&gt;
|M. Item&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|NODH&lt;br /&gt;
|NOD HTML&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|NOEG&lt;br /&gt;
|NOEG String&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|STRG&lt;br /&gt;
|String description&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TITL&lt;br /&gt;
|Title of the file&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|STR&lt;br /&gt;
|Short String / Input definition?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPST&lt;br /&gt;
|C. P. Strings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DNm#&lt;br /&gt;
|D. Name Strings List&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HDb#&lt;br /&gt;
|Help Database item&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LST#&lt;br /&gt;
|Short Strings List&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|STR#&lt;br /&gt;
|Short Strings List&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FDFL&lt;br /&gt;
|FDFL Strings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIfp&lt;br /&gt;
|LinkObj Refs for Front Panel&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIbd&lt;br /&gt;
|LinkObj Refs for Block diagram&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIds&lt;br /&gt;
|LinkObj Refs for Data Space&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIvi&lt;br /&gt;
|LinkObj Refs for VI&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DFDS&lt;br /&gt;
|Default Fill of Data Space&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|GCDI&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BFAL&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CGRS&lt;br /&gt;
|Conglomerate Resource&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPMp&lt;br /&gt;
|Connection Points Map&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DLDR&lt;br /&gt;
|DL Data Record&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DLLP&lt;br /&gt;
|DL Local Path&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FTAB&lt;br /&gt;
|Font Table&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HIST&lt;br /&gt;
|Changes History&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HLPP&lt;br /&gt;
|Help Path&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LPTH&lt;br /&gt;
|L. Path&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HLPW&lt;br /&gt;
|Help Website URL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|SCSR&lt;br /&gt;
|Syntax Checker Digest&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DTHP&lt;br /&gt;
|Data Types for Heap&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DSTM&lt;br /&gt;
|Data Space Type Map&lt;br /&gt;
|Stores table of [[Type descriptor|Type descriptors]] which make up [[Data Space]] of the VI file. Used in LV 7.1 and older.&lt;br /&gt;
|-&lt;br /&gt;
|TM80&lt;br /&gt;
|Data Space Type Map LV8.0+&lt;br /&gt;
|Stores table of references to [[Type descriptor|Type descriptors]] which make up [[Data Space]] of the [[VI|VI file]]. The actual definitions of &#039;&#039;&#039;TD&#039;&#039;&#039;s are stored in &#039;&#039;VCTP&#039;&#039; block. Used in [[LabVIEW 8|LV 8.0]] and newer.&lt;br /&gt;
|-&lt;br /&gt;
|LVIN&lt;br /&gt;
|LabView Instrument&lt;br /&gt;
|General information about a saved [[VI|VI file]]; definitely used in [[LabVIEW 4.0|LV 4.0]] and older, was replaced by &#039;&#039;LVSR&#039;&#039; at some point.&lt;br /&gt;
|-&lt;br /&gt;
|LVSR&lt;br /&gt;
|LabView Save Record&lt;br /&gt;
|General information about a saved [[VI|VI file]]; replaced &#039;&#039;LVIN&#039;&#039; resource somewhere before [[LabVIEW 6i|LV 6.0]]. The size of this resource increases with [[LabVIEW Versions|LV version]], but old data is always kept at the same offset (new fields are only added at end).&lt;br /&gt;
|-&lt;br /&gt;
|vers&lt;br /&gt;
|Version block&lt;br /&gt;
|Stores version of LV used to create the RSRC file.&lt;br /&gt;
|-&lt;br /&gt;
|PNGI&lt;br /&gt;
|PNG Image&lt;br /&gt;
|Stores a bitmap picture in [https://en.wikipedia.org/wiki/Portable_Network_Graphics PNG format].&lt;br /&gt;
|-&lt;br /&gt;
|MNGI&lt;br /&gt;
|MNG Image&lt;br /&gt;
|While PNGs become quite popular, their animated counterpart, [https://en.wikipedia.org/wiki/Multiple-image_Network_Graphics MNG format], never really caught on.&lt;br /&gt;
|-&lt;br /&gt;
|ICON&lt;br /&gt;
|Icon 32x32 1bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ICN#&lt;br /&gt;
|Icon Large Double 32x64 1bpp&lt;br /&gt;
|Usually used to store one icon in two versions (ie. disabled and active).&lt;br /&gt;
|-&lt;br /&gt;
|ics#&lt;br /&gt;
|Icon Small 16x16 1bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CURS&lt;br /&gt;
|Cursor 16x34 1bpp&lt;br /&gt;
|Usually used to store one cursor in two versions (ie. disabled and active).&lt;br /&gt;
|-&lt;br /&gt;
|ics4&lt;br /&gt;
|Icon Small 16x16 4bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|icl4&lt;br /&gt;
|Icon Large 32x32 4bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ics8&lt;br /&gt;
|Icon Small 16x16 8bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|icl8&lt;br /&gt;
|Icon Large 32x32 8bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BDPW&lt;br /&gt;
|Block Diagram Password&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIBN&lt;br /&gt;
|Library Names&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LVzp&lt;br /&gt;
|LabView Zipped Program tree&lt;br /&gt;
|A whole application compressed to ZIP file.&lt;br /&gt;
|-&lt;br /&gt;
|PRT&lt;br /&gt;
|Print settings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BNID&lt;br /&gt;
|B. N. Identifier&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CNST&lt;br /&gt;
|Constant Node UID set&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LPIN&lt;br /&gt;
|Loop Invariant Node UID set&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|NUID&lt;br /&gt;
|N. U. Identifier&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|SUID&lt;br /&gt;
|S. U. Identifier&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|VPDP&lt;br /&gt;
|VI Primitive Dependency Flags&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BDHP&lt;br /&gt;
|Block Diagram Heap&lt;br /&gt;
|First version of [[Heap storage format]], used to store components placed on Block Diagram.&lt;br /&gt;
|-&lt;br /&gt;
|FPHP&lt;br /&gt;
|Front Panel Heap&lt;br /&gt;
|First version of [[Heap storage format]], used to store components placed on Front Panel.&lt;br /&gt;
|-&lt;br /&gt;
|BDHb&lt;br /&gt;
|Block Diagram Heap ver b&lt;br /&gt;
|Second version of [[Heap storage format]], used to store components placed on Block Diagram.&lt;br /&gt;
|-&lt;br /&gt;
|FPHb&lt;br /&gt;
|Front Panel Heap ver b&lt;br /&gt;
|Second version of [[Heap storage format]], used to store components placed on Front Panel.&lt;br /&gt;
|-&lt;br /&gt;
|BDHc&lt;br /&gt;
|Block Diagram Heap ver c&lt;br /&gt;
|Third version of [[Heap storage format]], used to store components placed on Block Diagram.&lt;br /&gt;
|-&lt;br /&gt;
|FPHc&lt;br /&gt;
|Front Panel Heap ver c&lt;br /&gt;
|Third version of [[Heap storage format]], used to store components placed on Front Panel.&lt;br /&gt;
|-&lt;br /&gt;
|BDHT&lt;br /&gt;
|Block Diagram Heap Text&lt;br /&gt;
|Used when [[Heap storage format]] is set to Verbose Tagged Text.&lt;br /&gt;
|-&lt;br /&gt;
|FPHT&lt;br /&gt;
|Front Panel Heap Text&lt;br /&gt;
|Used when [[Heap storage format]] is set to Verbose Tagged Text.&lt;br /&gt;
|-&lt;br /&gt;
|BDHX&lt;br /&gt;
|Block Diagram Heap XML&lt;br /&gt;
|Used when [[Heap storage format]] is set to XML.&lt;br /&gt;
|-&lt;br /&gt;
|FPHX&lt;br /&gt;
|Front Panel Heap XML&lt;br /&gt;
|Used when [[Heap storage format]] is set to XML.&lt;br /&gt;
|-&lt;br /&gt;
|RTSG&lt;br /&gt;
|Runtime Signature Guid&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|GCPR&lt;br /&gt;
|Generated Code Profiler settings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|UCRF&lt;br /&gt;
|Uncompressed Resource File&lt;br /&gt;
|Used when files are added to &#039;&#039;RSRC&#039;&#039;, ie. within &#039;&#039;*.llb&#039;&#039; files.&lt;br /&gt;
|-&lt;br /&gt;
|CPRF&lt;br /&gt;
|&#039;Comp&#039; Compressed Resource File&lt;br /&gt;
|Used when files are added to &#039;&#039;RSRC&#039;&#039;; very basic mask based compression.&lt;br /&gt;
|-&lt;br /&gt;
|ZCRF&lt;br /&gt;
|ZLib Compressed Resource File&lt;br /&gt;
|Used when files are added to &#039;&#039;RSRC&#039;&#039;; uses compression algorithm from popular Z-Lib library.&lt;br /&gt;
|-&lt;br /&gt;
|DLG3&lt;br /&gt;
|Dialog Resource File&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|VCTP&lt;br /&gt;
|VI Consolidated Data Types&lt;br /&gt;
|Introduced in LV 8.0, stores all [[Type descriptor|Type descriptors]] used within the file. Consists of a Zlib-compressed data block preceded by four bytes containing the length of the compressed data in big-endian.&lt;br /&gt;
|-&lt;br /&gt;
|VICD&lt;br /&gt;
|Virtual Instrument Compiled Data / VI Code&lt;br /&gt;
|Contains the machine code generated by LLVM compiler.&lt;br /&gt;
|-&lt;br /&gt;
|VITS&lt;br /&gt;
|Virtual Instrument Tag Strings&lt;br /&gt;
|Contains a VI&#039;s persistent tags. Tags are additional data which is attached to a VI and manipulated using [[VI Server#Private|private methods]] such as [[VI class/Tag.Set Tag|VI class/Tag.Set Tag]] on the VI object. Certain tags can affect LabVIEW&#039;s functionality; for example, [[Express VI]] source VI&#039;s have a &amp;quot;_Wizard&amp;quot; tag containing the path to the configuration dialog VI, and the matrix typedefs contain a &amp;quot;NI.LV.All.OperatorInfo1&amp;quot; tag which configures the special &amp;quot;operator overloading&amp;quot; effect they have.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:LabVIEW file extensions|other files]]&lt;br /&gt;
[[Category:LabVIEW internals]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Resource_Container&amp;diff=31587</id>
		<title>Resource Container</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Resource_Container&amp;diff=31587"/>
		<updated>2022-02-09T03:17:49Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: added FPTS and BDTS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Resource Container&#039;&#039;&#039; file format is a most often used file format within LabVIEW ecosystem. It is a proprietary binary format defined by [[National Instruments]] and used in both [[LabVIEW]] and [https://en.wikipedia.org/wiki/LabWindows/CVI LabWindows/CVI]. The format is strongly inspired by [https://en.wikipedia.org/wiki/Resource_fork Mac OS Resource Fork format], as LabVIEW was originally created for that platform, and ported to other OSes later, at [[LabVIEW 2.0|version 2.5]].&lt;br /&gt;
&lt;br /&gt;
The format is a container, storing a group of &#039;&#039;&#039;Resources&#039;&#039;&#039;. Resources have &#039;&#039;&#039;4-character identifier&#039;&#039;&#039; assigned, and the 4-character identifier for the whole container is &#039;&#039;RSRC&#039;&#039;. Most files used by LabVIEW have that &#039;&#039;RSRC&#039;&#039; format, only the specific &#039;&#039;&#039;Resources&#039;&#039;&#039; stored inside are different. The files with that header include [[VI File Extension|&#039;&#039;*.vi&#039;&#039;]], [[CTL File Extension|&#039;&#039;*.ctl&#039;&#039;]], [[MNU File Extension|&#039;&#039;*.mnu&#039;&#039;]], [[LLB File Extension|&#039;&#039;*.llb&#039;&#039;]], [[DLOG File Extension|&#039;&#039;*.dlog&#039;&#039;]], [[CTT File Extension|&#039;&#039;*.ctt&#039;&#039;]], [[VIT File Extension|&#039;&#039;*.vit&#039;&#039;]], [[UIR File Extension|&#039;&#039;*.uir&#039;&#039;]], [[RSC File Extension|&#039;&#039;*.rsc&#039;&#039;]], and many  created with, or internally used by, LabVIEW.&lt;br /&gt;
&lt;br /&gt;
The resources stored within have their identifiers often identical to those in &#039;&#039;Resource fork&#039;&#039; format, but many new ones are also introduced. Some resources have multiple variations, as their structure changed between versions of [[LabVIEW]].&lt;br /&gt;
&lt;br /&gt;
==Known Resources==&lt;br /&gt;
&lt;br /&gt;
Below a few resources are listed. Note that the text names given for them are mostly informed guesses.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Resource ID&lt;br /&gt;
! Long Name&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|MUID&lt;br /&gt;
|Map Unique Identifier&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FPSE&lt;br /&gt;
|Front Panel Size Estimate&lt;br /&gt;
|Optional resource which can be used to optimize memory allocation when loading the VI file. Contains one integer value, which seem be amount of tags within Front Panel Heap divided by 10. See also: &#039;&#039;BDSE&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|FPTS&lt;br /&gt;
|Front Panel Tags&lt;br /&gt;
|Contains data for tags set on front panel objects using the [[Generic class/Tag.Get Tag method|Get Tag]] method.&lt;br /&gt;
|-&lt;br /&gt;
|FPTD&lt;br /&gt;
|Front Panel Type for DataLog&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BDSE&lt;br /&gt;
|Block Diagram Size Estimate&lt;br /&gt;
|Optional resource which can be used to optimize memory allocation when loading the VI file. Contains one integer value, which seem be amount of tags within Block Diagram Heap divided by 10. See also: &#039;&#039;FPSE&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|BDTS&lt;br /&gt;
|Block Diagram Tags&lt;br /&gt;
|Contains data for tags set on block diagram objects using the [[Generic class/Tag.Get Tag method|Get Tag]] method.&lt;br /&gt;
|-&lt;br /&gt;
|FLAG&lt;br /&gt;
|Integer flags&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CONP&lt;br /&gt;
|Connector Port Type Map&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPTM&lt;br /&gt;
|Connector Port Type Map&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPC2&lt;br /&gt;
|Connector Port Content Type v2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPCT&lt;br /&gt;
|Connector Port Content Type&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPD2&lt;br /&gt;
|Connector Port DI v2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPDI&lt;br /&gt;
|Connector Port DI&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DLGH&lt;br /&gt;
|Dialog HTML&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ERRH&lt;br /&gt;
|Error HTML&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HLPT&lt;br /&gt;
|Help Tag&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|MItm&lt;br /&gt;
|M. Item&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|NODH&lt;br /&gt;
|NOD HTML&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|NOEG&lt;br /&gt;
|NOEG String&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|STRG&lt;br /&gt;
|String description&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TITL&lt;br /&gt;
|Title of the file&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|STR&lt;br /&gt;
|Short String / Input definition?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPST&lt;br /&gt;
|C. P. Strings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DNm#&lt;br /&gt;
|D. Name Strings List&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HDb#&lt;br /&gt;
|Help Database item&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LST#&lt;br /&gt;
|Short Strings List&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|STR#&lt;br /&gt;
|Short Strings List&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FDFL&lt;br /&gt;
|FDFL Strings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIfp&lt;br /&gt;
|LinkObj Refs for Front Panel&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIbd&lt;br /&gt;
|LinkObj Refs for Block diagram&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIds&lt;br /&gt;
|LinkObj Refs for Data Space&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIvi&lt;br /&gt;
|LinkObj Refs for VI&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DFDS&lt;br /&gt;
|Default Fill of Data Space&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|GCDI&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BFAL&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CGRS&lt;br /&gt;
|Conglomerate Resource&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPMp&lt;br /&gt;
|Connection Points Map&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DLDR&lt;br /&gt;
|DL Data Record&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DLLP&lt;br /&gt;
|DL Local Path&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FTAB&lt;br /&gt;
|Font Table&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HIST&lt;br /&gt;
|Changes History&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HLPP&lt;br /&gt;
|Help Path&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LPTH&lt;br /&gt;
|L. Path&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HLPW&lt;br /&gt;
|Help Website URL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|SCSR&lt;br /&gt;
|Syntax Checker Digest&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DTHP&lt;br /&gt;
|Data Types for Heap&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DSTM&lt;br /&gt;
|Data Space Type Map&lt;br /&gt;
|Stores table of [[Type descriptor|Type descriptors]] which make up [[Data Space]] of the VI file. Used in LV 7.1 and older.&lt;br /&gt;
|-&lt;br /&gt;
|TM80&lt;br /&gt;
|Data Space Type Map LV8.0+&lt;br /&gt;
|Stores table of references to [[Type descriptor|Type descriptors]] which make up [[Data Space]] of the [[VI|VI file]]. The actual definitions of &#039;&#039;&#039;TD&#039;&#039;&#039;s are stored in &#039;&#039;VCTP&#039;&#039; block. Used in [[LabVIEW 8|LV 8.0]] and newer.&lt;br /&gt;
|-&lt;br /&gt;
|LVIN&lt;br /&gt;
|LabView Instrument&lt;br /&gt;
|General information about a saved [[VI|VI file]]; definitely used in [[LabVIEW 4.0|LV 4.0]] and older, was replaced by &#039;&#039;LVSR&#039;&#039; at some point.&lt;br /&gt;
|-&lt;br /&gt;
|LVSR&lt;br /&gt;
|LabView Save Record&lt;br /&gt;
|General information about a saved [[VI|VI file]]; replaced &#039;&#039;LVIN&#039;&#039; resource somewhere before [[LabVIEW 6i|LV 6.0]]. The size of this resource increases with [[LabVIEW Versions|LV version]], but old data is always kept at the same offset (new fields are only added at end).&lt;br /&gt;
|-&lt;br /&gt;
|vers&lt;br /&gt;
|Version block&lt;br /&gt;
|Stores version of LV used to create the RSRC file.&lt;br /&gt;
|-&lt;br /&gt;
|PNGI&lt;br /&gt;
|PNG Image&lt;br /&gt;
|Stores a bitmap picture in [https://en.wikipedia.org/wiki/Portable_Network_Graphics PNG format].&lt;br /&gt;
|-&lt;br /&gt;
|MNGI&lt;br /&gt;
|MNG Image&lt;br /&gt;
|While PNGs become quite popular, their animated counterpart, [https://en.wikipedia.org/wiki/Multiple-image_Network_Graphics MNG format], never really caught on.&lt;br /&gt;
|-&lt;br /&gt;
|ICON&lt;br /&gt;
|Icon 32x32 1bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ICN#&lt;br /&gt;
|Icon Large Double 32x64 1bpp&lt;br /&gt;
|Usually used to store one icon in two versions (ie. disabled and active).&lt;br /&gt;
|-&lt;br /&gt;
|ics#&lt;br /&gt;
|Icon Small 16x16 1bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CURS&lt;br /&gt;
|Cursor 16x34 1bpp&lt;br /&gt;
|Usually used to store one cursor in two versions (ie. disabled and active).&lt;br /&gt;
|-&lt;br /&gt;
|ics4&lt;br /&gt;
|Icon Small 16x16 4bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|icl4&lt;br /&gt;
|Icon Large 32x32 4bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ics8&lt;br /&gt;
|Icon Small 16x16 8bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|icl8&lt;br /&gt;
|Icon Large 32x32 8bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BDPW&lt;br /&gt;
|Block Diagram Password&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIBN&lt;br /&gt;
|Library Names&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LVzp&lt;br /&gt;
|LabView Zipped Program tree&lt;br /&gt;
|A whole application compressed to ZIP file.&lt;br /&gt;
|-&lt;br /&gt;
|PRT&lt;br /&gt;
|Print settings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BNID&lt;br /&gt;
|B. N. Identifier&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CNST&lt;br /&gt;
|Constant Node UID set&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LPIN&lt;br /&gt;
|Loop Invariant Node UID set&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|NUID&lt;br /&gt;
|N. U. Identifier&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|SUID&lt;br /&gt;
|S. U. Identifier&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|VPDP&lt;br /&gt;
|VI Primitive Dependency Flags&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BDHP&lt;br /&gt;
|Block Diagram Heap&lt;br /&gt;
|First version of [[Heap storage format]], used to store components placed on Block Diagram.&lt;br /&gt;
|-&lt;br /&gt;
|FPHP&lt;br /&gt;
|Front Panel Heap&lt;br /&gt;
|First version of [[Heap storage format]], used to store components placed on Front Panel.&lt;br /&gt;
|-&lt;br /&gt;
|BDHb&lt;br /&gt;
|Block Diagram Heap ver b&lt;br /&gt;
|Second version of [[Heap storage format]], used to store components placed on Block Diagram.&lt;br /&gt;
|-&lt;br /&gt;
|FPHb&lt;br /&gt;
|Front Panel Heap ver b&lt;br /&gt;
|Second version of [[Heap storage format]], used to store components placed on Front Panel.&lt;br /&gt;
|-&lt;br /&gt;
|BDHc&lt;br /&gt;
|Block Diagram Heap ver c&lt;br /&gt;
|Third version of [[Heap storage format]], used to store components placed on Block Diagram.&lt;br /&gt;
|-&lt;br /&gt;
|FPHc&lt;br /&gt;
|Front Panel Heap ver c&lt;br /&gt;
|Third version of [[Heap storage format]], used to store components placed on Front Panel.&lt;br /&gt;
|-&lt;br /&gt;
|BDHT&lt;br /&gt;
|Block Diagram Heap Text&lt;br /&gt;
|Used when [[Heap storage format]] is set to Verbose Tagged Text.&lt;br /&gt;
|-&lt;br /&gt;
|FPHT&lt;br /&gt;
|Front Panel Heap Text&lt;br /&gt;
|Used when [[Heap storage format]] is set to Verbose Tagged Text.&lt;br /&gt;
|-&lt;br /&gt;
|BDHX&lt;br /&gt;
|Block Diagram Heap XML&lt;br /&gt;
|Used when [[Heap storage format]] is set to XML.&lt;br /&gt;
|-&lt;br /&gt;
|FPHX&lt;br /&gt;
|Front Panel Heap XML&lt;br /&gt;
|Used when [[Heap storage format]] is set to XML.&lt;br /&gt;
|-&lt;br /&gt;
|RTSG&lt;br /&gt;
|Runtime Signature Guid&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|GCPR&lt;br /&gt;
|Generated Code Profiler settings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|UCRF&lt;br /&gt;
|Uncompressed Resource File&lt;br /&gt;
|Used when files are added to &#039;&#039;RSRC&#039;&#039;, ie. within &#039;&#039;*.llb&#039;&#039; files.&lt;br /&gt;
|-&lt;br /&gt;
|CPRF&lt;br /&gt;
|&#039;Comp&#039; Compressed Resource File&lt;br /&gt;
|Used when files are added to &#039;&#039;RSRC&#039;&#039;; very basic mask based compression.&lt;br /&gt;
|-&lt;br /&gt;
|ZCRF&lt;br /&gt;
|ZLib Compressed Resource File&lt;br /&gt;
|Used when files are added to &#039;&#039;RSRC&#039;&#039;; uses compression algorithm from popular Z-Lib library.&lt;br /&gt;
|-&lt;br /&gt;
|DLG3&lt;br /&gt;
|Dialog Resource File&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|VCTP&lt;br /&gt;
|VI Consolidated Data Types&lt;br /&gt;
|Introduced in LV 8.0, stores all [[Type descriptor|Type descriptors]] used within the file. Consists of a Zlib-compressed data block preceded by four bytes containing the length of the compressed data in big-endian.&lt;br /&gt;
|-&lt;br /&gt;
|VICD&lt;br /&gt;
|Virtual Instrument Compiled Data / VI Code&lt;br /&gt;
|Contains the machine code generated by LLVM compiler.&lt;br /&gt;
|-&lt;br /&gt;
|VITS&lt;br /&gt;
|Virtual Instrument Tag Strings&lt;br /&gt;
|Contains a VI&#039;s persistent tags. Tags are additional data which is attached to a VI and manipulated using [[VI Server#Private|private methods]] such as [[VI class/Tag.Set Tag|VI class/Tag.Set Tag]] on the VI object. Certain tags can affect LabVIEW&#039;s functionality; for example, the built-in matrix typedefs&#039; &amp;quot;operator overloading&amp;quot; effect is caused by a tag named &amp;quot;NI.LV.All.OperatorInfo1&amp;quot; in the .ctl files.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:LabVIEW file extensions|other files]]&lt;br /&gt;
[[Category:LabVIEW internals]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=VI_class/Is_Instance_property&amp;diff=31586</id>
		<title>VI class/Is Instance property</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=VI_class/Is_Instance_property&amp;diff=31586"/>
		<updated>2022-02-09T02:42:24Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: Malleable VI&amp;#039;s use instances as well&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{VIServerProperty&lt;br /&gt;
| classid = 2&lt;br /&gt;
| propertyid = 241&lt;br /&gt;
| scope=basic&lt;br /&gt;
| dataname = Is Instance ?&lt;br /&gt;
| shortname = IsInstance&lt;br /&gt;
| longname = Is Instance&lt;br /&gt;
| datatypeimage = Boolean.png&lt;br /&gt;
| datatype = Boolean&lt;br /&gt;
| propertynodeimage = VI-Is Instance.png&lt;br /&gt;
| availableinrealtime = No&lt;br /&gt;
| availableinruntime = No&lt;br /&gt;
| availablewithcontrolvis = No&lt;br /&gt;
| availablewithglobalvis = Yes&lt;br /&gt;
| availablewithpolyvis = No&lt;br /&gt;
| availablewithstricttypedefs = No&lt;br /&gt;
| loadsbd = No&lt;br /&gt;
| loadsfp = No&lt;br /&gt;
| mustwait = No&lt;br /&gt;
| needsauthentication = No&lt;br /&gt;
| permissions = Read/Write&lt;br /&gt;
| remoteallowed = Yes&lt;br /&gt;
| settablewhenrunning = No&lt;br /&gt;
|}}&lt;br /&gt;
{{TOCright}}&lt;br /&gt;
&lt;br /&gt;
Returns whether or not the VI is an [[Express VI]] or [[Malleable VI]] instance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uses ==&lt;br /&gt;
{{ambox|text=Specific use cases for this property.}}&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
{{ambox|text=History information is needed.  What changes have occurred over previous versions?}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Version&lt;br /&gt;
! Change(s)&lt;br /&gt;
|-&lt;br /&gt;
|[[File:LV2018.png|frameless|border|64x64px|LabVIEW 2018|link=LabVIEW 2018]]&lt;br /&gt;
|More info to come.&lt;br /&gt;
|}&lt;br /&gt;
== See Also ==&lt;br /&gt;
{{ambox|text=Add links to internal wiki pages that would also help.}}&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
{{ambox|text=Add links to external resources that would also help.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:VI Server Property]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=ProjectItem&amp;diff=31551</id>
		<title>ProjectItem</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=ProjectItem&amp;diff=31551"/>
		<updated>2022-02-02T01:48:55Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A &#039;&#039;&#039;Project Item&#039;&#039;&#039; is an individual item in a [[LabVIEW Project]], [[LabVIEW Project Library]], [[LabVIEW Class]], or [[XControl]].  A Project Item can be one of many types with an associated type GUID.  The [[ProjectItem class]], [[ProjectItem class/Type String property|Type String Property]] can be used to get the &#039;&#039;Type String&#039;&#039;.  The [[ProjectItem class]], [[ProjectItem class/Type GUID property|Type GUID Property]] can be used to get the &#039;&#039;Type GUID&#039;&#039;.  In cases where no Type String exists the [[ProjectItem class/Type String property|Type String Property]] returns the Type GUID.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Type String&#039;&#039; is used in the [[ProjectItem class]], [[ProjectItem class/Get All Descendents method|Get All Descendents method]] to get a filtered list of the Descendents by the inputted type.  A list of valid &#039;&#039;Type Strings&#039;&#039; with associated &#039;&#039;Type GUIDs&#039;&#039; are listed below.  (Add to this list as more are discovered.)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Type String&lt;br /&gt;
! Type GUID &lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| Ability VI &lt;br /&gt;
| {DAABD3DA-4F44-4C3D-8BA3-E5D035A4F27A}&lt;br /&gt;
| Ability VI within an XControl or XNode&lt;br /&gt;
|-&lt;br /&gt;
| BeagleBone Black &lt;br /&gt;
|&lt;br /&gt;
| BeagleBone Black target (available with the [[LabVIEW LINX|LINX Toolkit]])&lt;br /&gt;
|-&lt;br /&gt;
| Build &lt;br /&gt;
| {0C750917-83D7-9871-8908-BB4ED6A8099B}&lt;br /&gt;
| Build Specifications node under every target&lt;br /&gt;
|-&lt;br /&gt;
| Class Private Data &lt;br /&gt;
| {64A9BF48-4C55-45DB-8F18-9C796DA0C113}&lt;br /&gt;
| Private Data Control inside a LabVIEW Class&lt;br /&gt;
|-&lt;br /&gt;
| Compact Vision System Target &lt;br /&gt;
|&lt;br /&gt;
| Real-Time Compact Vision System target&lt;br /&gt;
|-&lt;br /&gt;
| CompactRIO Ethernet Device &lt;br /&gt;
|&lt;br /&gt;
| Ethernet RIO target&lt;br /&gt;
|-&lt;br /&gt;
| CompactRIO Windows &lt;br /&gt;
|&lt;br /&gt;
| Windows CompactRIO target&lt;br /&gt;
|-&lt;br /&gt;
| cRIO Chassis &lt;br /&gt;
|&lt;br /&gt;
| CompactRIO Chassis under a cRIO RT target &lt;br /&gt;
|-&lt;br /&gt;
| Dependencies &lt;br /&gt;
| {0D75D917-83D7-9871-AA09-A0FFD6A8099B}&lt;br /&gt;
| Dependencies node under every target&lt;br /&gt;
|-&lt;br /&gt;
| Directives &lt;br /&gt;
|&lt;br /&gt;
| Directives items created for VIs by FPGA IP Builder &lt;br /&gt;
|-&lt;br /&gt;
| DLL &lt;br /&gt;
| {20A41099-3F2C-42C3-9544-7ABCC1E6CB0D}&lt;br /&gt;
| Shared Library (DLL) node under Build Specifications &lt;br /&gt;
|-&lt;br /&gt;
| Document &lt;br /&gt;
| {D60740D6-F255-4BBC-5675-8858F35B820E}&lt;br /&gt;
| Includes: &lt;br /&gt;
* Another [[LabVIEW Project]] [[LVLIB File Extension|&#039;&#039;(*.lvproj)&#039;&#039;]] file when nested inside of a Project&lt;br /&gt;
* [[ALIASES File Extension|Aliases &#039;&#039;(*.aliases)&#039;&#039;]]&lt;br /&gt;
* [[LVLPS File Extension|Local Projects Settings &#039;&#039;(*.lvlps)&#039;&#039;]]&lt;br /&gt;
* [[LabVIEW Library|LabVIEW Libraries]] [[LLB File Extension|&#039;&#039;(*.llb)&#039;&#039;]] (Depending on how it was added to the Project)&lt;br /&gt;
* [[Run-time Menu]] [[RTM File Extension| &#039;&#039;(*.rtm)&#039;&#039;]]&lt;br /&gt;
* other Non-LabVIEW files, like images, text files, etc.&lt;br /&gt;
|-&lt;br /&gt;
| ECATEbusSlave &lt;br /&gt;
|&lt;br /&gt;
| EtherCAT slave device &lt;br /&gt;
|-&lt;br /&gt;
| ECATEnetSlave &lt;br /&gt;
|&lt;br /&gt;
| EtherCAT slave device&lt;br /&gt;
|-&lt;br /&gt;
| ECATMaster &lt;br /&gt;
|&lt;br /&gt;
| EtherCAT master device&lt;br /&gt;
|-&lt;br /&gt;
| EXE &lt;br /&gt;
| {9A75366A-79D3-4BFD-9532-E3070185C1E8}&lt;br /&gt;
| Application (EXE) node under Build Specifications&lt;br /&gt;
|-&lt;br /&gt;
| Elemental IO &lt;br /&gt;
|&lt;br /&gt;
| IO Resource under an FPGA target &lt;br /&gt;
|-&lt;br /&gt;
| elvisRIO Chassis &lt;br /&gt;
|&lt;br /&gt;
| Chassis under an ELVIS RIO target &lt;br /&gt;
|-&lt;br /&gt;
| Embedded Vision System Target &lt;br /&gt;
|&lt;br /&gt;
| NI Embedded Vision System target &lt;br /&gt;
|-&lt;br /&gt;
| Folder&lt;br /&gt;
| {D60740D6-F254-4BBC-5675-8858F35B820E}&lt;br /&gt;
| Includes: &lt;br /&gt;
* [[Auto-populating Folder]]s, &lt;br /&gt;
* [[Virtual Folder]]s&lt;br /&gt;
* [[LabVIEW Library|LabVIEW Libraries]] [[LLB File Extension|&#039;&#039;(*.llb)&#039;&#039;]] (Depending on how it was added to the Project)&lt;br /&gt;
|-&lt;br /&gt;
| FPGA Base Clock &lt;br /&gt;
|&lt;br /&gt;
| Base clock under an FPGA target &lt;br /&gt;
|-&lt;br /&gt;
| FPGA Component Level IP &lt;br /&gt;
|&lt;br /&gt;
| RIO DRAM &lt;br /&gt;
|-&lt;br /&gt;
| FPGA Derived Clock &lt;br /&gt;
|&lt;br /&gt;
| Derived clock under an FPGA target &lt;br /&gt;
|-&lt;br /&gt;
| FPGA FIFO &lt;br /&gt;
|&lt;br /&gt;
| FIFO node under an FPGA target &lt;br /&gt;
|-&lt;br /&gt;
| FPGA Generic Target &lt;br /&gt;
|&lt;br /&gt;
| Networked Computer/Device target &lt;br /&gt;
|-&lt;br /&gt;
| FPGA Memory Block &lt;br /&gt;
|&lt;br /&gt;
| Memory node under an FPGA target &lt;br /&gt;
|-&lt;br /&gt;
| FPGA Register &lt;br /&gt;
|{730535F4-F2D1-43C7-8D98-0EBD6BAE3470}&lt;br /&gt;
| Register item under an FPGA target &lt;br /&gt;
|-&lt;br /&gt;
| FPGA Target &lt;br /&gt;
|&lt;br /&gt;
| FPGA target (R-series device, cRIO target, etc.) &lt;br /&gt;
|-&lt;br /&gt;
| Hyperlink&lt;br /&gt;
| {CC472C20-0441-48DC-AF25-3E82ECC9376F}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| HTTP WebResources Container &lt;br /&gt;
| {CC977D9A-0BF1-470B-B5A7-DF1D00EF9C9B}&lt;br /&gt;
| Web Resources folder under a Web Service node&lt;br /&gt;
|-&lt;br /&gt;
| IO Server &lt;br /&gt;
|&lt;br /&gt;
| I/O Server node under a target&lt;br /&gt;
|-&lt;br /&gt;
| IP Builder Target &lt;br /&gt;
|&lt;br /&gt;
| IP Builder node under an FPGA target &lt;br /&gt;
|-&lt;br /&gt;
| Installer &lt;br /&gt;
| {B912C944-F9D3-49E7-B0A6-073ED50A150B}&lt;br /&gt;
| Installer node under Build Specifications&lt;br /&gt;
|-&lt;br /&gt;
| LVClass (also used for interfaces)&lt;br /&gt;
| {EFD740D6-F254-4BBC-5675-8858F35B820E}&lt;br /&gt;
| Includes: [[LabVIEW Class]] [[LVCLASS File Extension|&#039;&#039;(*.lvclass)&#039;&#039;]] and [[Interface (object-oriented programming)|Interfaces]]&lt;br /&gt;
|-&lt;br /&gt;
| Library &lt;br /&gt;
| {ABC740D6-F254-4BBC-5675-8858F35B820E}&lt;br /&gt;
| [[LabVIEW Project Library]] [[LVLIB File Extension|&#039;&#039;(*.lvlib)&#039;&#039;]]&lt;br /&gt;
|-&lt;br /&gt;
| LibraryData &lt;br /&gt;
| {AE832914-DFCB-471F-930C-C57747746FF2}&lt;br /&gt;
| Hidden ProjectItem that contains internal information about an LVStatechart library&lt;br /&gt;
|-&lt;br /&gt;
| Localhost &lt;br /&gt;
|&lt;br /&gt;
| In some projects with a Real-Time target, the &#039;My Computer&#039; target will have a type of &#039;Localhost&#039; instead of &#039;My Computer&#039;. &lt;br /&gt;
|-&lt;br /&gt;
| LVLibp &lt;br /&gt;
| {CF31838A-5E97-4315-AE50-9EBA613BCBBB}&lt;br /&gt;
| [[Packed Project Library]] [[LVLIBP File Extension|&#039;&#039;(*.lvlibp)&#039;&#039;]]&lt;br /&gt;
|-&lt;br /&gt;
| LVStatechart &lt;br /&gt;
| {FB056C2C-833C-414C-8330-397F164A5211}&lt;br /&gt;
| [[LabVIEW StateChart]] [[LVSC File Extension|&#039;&#039;(*.lvsc)&#039;&#039;]]&lt;br /&gt;
|-&lt;br /&gt;
| LVStatechartVIItem &lt;br /&gt;
| {FB056C2D-833C-414C-8330-397F164A5211}&lt;br /&gt;
| Hidden ProjectItem that contains internal information about an LVStatechart library&lt;br /&gt;
|-&lt;br /&gt;
| Method VI &lt;br /&gt;
| {DAABD3DC-4F44-4C3D-8BA3-E5D035A4F27A}&lt;br /&gt;
| Method VI in an XControl &lt;br /&gt;
|-&lt;br /&gt;
| Module Container &lt;br /&gt;
|&lt;br /&gt;
| Real-Time Scan Resources node under an RT Chassis &lt;br /&gt;
|-&lt;br /&gt;
| My Computer &lt;br /&gt;
| {CEFE1B10-1732-4678-A70A-299293455410}&lt;br /&gt;
| My Computer node under the root Project&lt;br /&gt;
|-&lt;br /&gt;
| NI-DAQmx Task&lt;br /&gt;
| {0A806145-1BF3-3A50-0B5E-F969F56C8E2A}&lt;br /&gt;
| DAQmx Task&lt;br /&gt;
|-&lt;br /&gt;
| NI-DAQmx Channel&lt;br /&gt;
| {B5F05770-7C71-3A03-C9FB-F73F35629FC1}&lt;br /&gt;
| DAQmx Virtual Channel&lt;br /&gt;
|-&lt;br /&gt;
| NI-DAQmx Scale&lt;br /&gt;
| {BC977C97-1833-3D51-4EF6-D82E6838A8F3}&lt;br /&gt;
| DAQmx Scale&lt;br /&gt;
|-&lt;br /&gt;
| Packed Library &lt;br /&gt;
| {E4492117-CED3-4F31-9F8D-E2118AE04F12}&lt;br /&gt;
| Packed Library node under Build Specifications&lt;br /&gt;
|-&lt;br /&gt;
| Project &lt;br /&gt;
| {D60740D6-F254-4BBC-9975-8858F35B810E}&lt;br /&gt;
| Root project item at the top of the [[Project Explorer]] for the [[LabVIEW Project]]&lt;br /&gt;
|-&lt;br /&gt;
| Property Definition &lt;br /&gt;
| {81C68620-8BE3-4643-B04A-4E83AA6363D2}&lt;br /&gt;
| Property definition folder under a [[LabVIEW Class]]&lt;br /&gt;
|-&lt;br /&gt;
| Property Folder &lt;br /&gt;
| {D60740D6-F254-4BBC-5675-8858F35B820E}&lt;br /&gt;
| Property folder in an [[XControl]]&lt;br /&gt;
|-&lt;br /&gt;
| Property VI &lt;br /&gt;
| {DAABD3DB-4F44-4C3D-8BA3-E5D035A4F27A}&lt;br /&gt;
| Property VI in an [[XControl]]&lt;br /&gt;
|-&lt;br /&gt;
| Raspberry Pi 2 B &lt;br /&gt;
| {838AE6B2-6884-4111-A0FB-AF9B59F4094F}&lt;br /&gt;
| Raspberry Pi 2 B target (available with the [[LabVIEW LINX|LINX Toolkit]]). Includes Raspberry Pi 3 B+ and 4 B+&lt;br /&gt;
|-&lt;br /&gt;
| RIO C Series Module &lt;br /&gt;
|&lt;br /&gt;
| CompactRIO module that appears under the FPGA Target node under an RT CompactRIO target&lt;br /&gt;
|-&lt;br /&gt;
| RIO Subresource &lt;br /&gt;
|&lt;br /&gt;
| Resource under a RIO module. For example, an SD Card node. &lt;br /&gt;
|-&lt;br /&gt;
| RT CDAQ Chassis &lt;br /&gt;
|&lt;br /&gt;
|  Real-Time CompactDAQ Chassis target&lt;br /&gt;
|-&lt;br /&gt;
| RT CompactRIO &lt;br /&gt;
|&lt;br /&gt;
| RT CompactRIO target&lt;br /&gt;
|-&lt;br /&gt;
| RT Desktop &lt;br /&gt;
|&lt;br /&gt;
| Real-Time Desktop target&lt;br /&gt;
|-&lt;br /&gt;
| RT elvisRIO &lt;br /&gt;
|&lt;br /&gt;
| ELVIS RIO target&lt;br /&gt;
|-&lt;br /&gt;
| RT FlexRIO &lt;br /&gt;
|&lt;br /&gt;
| Real-Time FlexRIO target&lt;br /&gt;
|-&lt;br /&gt;
| RT Generic &lt;br /&gt;
|&lt;br /&gt;
| Generic RT Target &lt;br /&gt;
|-&lt;br /&gt;
| RT Industrial Controller &lt;br /&gt;
|&lt;br /&gt;
| Real-Time Industrial Controller target &lt;br /&gt;
|-&lt;br /&gt;
| RT myRIO &lt;br /&gt;
|&lt;br /&gt;
| myRIO target &lt;br /&gt;
|-&lt;br /&gt;
| RT PXI Chassis &lt;br /&gt;
|&lt;br /&gt;
| RT PXI Target &lt;br /&gt;
|-&lt;br /&gt;
| RT roboRIO &lt;br /&gt;
|&lt;br /&gt;
| roboRIO target &lt;br /&gt;
|-&lt;br /&gt;
| RT Single-Board RIO &lt;br /&gt;
|&lt;br /&gt;
| RT Single-Board RIO Target &lt;br /&gt;
|-&lt;br /&gt;
| Robotics Environment Simulator &lt;br /&gt;
|&lt;br /&gt;
| Simulated robot device&lt;br /&gt;
|-&lt;br /&gt;
| sbRIO Chassis &lt;br /&gt;
|&lt;br /&gt;
| Single-Board RIO Chassis that appears under an RT Single-Board RIO target &lt;br /&gt;
|-&lt;br /&gt;
| Variable &lt;br /&gt;
| 9BA597C5-4996-4622-B9BB-444431834D0D}&lt;br /&gt;
| Shared Variable node under a library or a target&lt;br /&gt;
|-&lt;br /&gt;
| Smart Camera Target &lt;br /&gt;
|&lt;br /&gt;
| Real-Time Industrial Smart Camera Target&lt;br /&gt;
|-&lt;br /&gt;
| Source Distribution &lt;br /&gt;
| {15DA4F9E-0591-4AB1-A339-C3B4D54902D8}&lt;br /&gt;
| Source Distribution node under Build Specifications&lt;br /&gt;
|-&lt;br /&gt;
| Startup VIs Container &lt;br /&gt;
| {F0D505FA-F9AD-43D8-8811-2F23BBC4C8A2}&lt;br /&gt;
| Startup VIs folder under a Web Service node &lt;br /&gt;
|-&lt;br /&gt;
| Target Folder&lt;br /&gt;
| {AB0740D6-F254-4BBC-5675-8858F35B820E}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| TestItem &lt;br /&gt;
| {39B74B88-DF2D-4BA8-BEB5-FD65FC0FD56D}&lt;br /&gt;
| Test file from the Unit Test Framework [[LVTest File Extension| &#039;&#039;(.lvtest)&#039;&#039;]]&lt;br /&gt;
|-&lt;br /&gt;
| TestVectorItem &lt;br /&gt;
| {50E0C210-38A2-420B-AB4E-3BEFFC710090}&lt;br /&gt;
| Test vector file from the Unit Test Framework [[LVTest File Extension| &#039;&#039;(.lvvect)&#039;&#039;]]&lt;br /&gt;
|-&lt;br /&gt;
| TouchPanel &lt;br /&gt;
|&lt;br /&gt;
| Touch Panel target&lt;br /&gt;
|-&lt;br /&gt;
| VI &lt;br /&gt;
| {D60740D6-F254-4BBC-5675-8858F35B810E}&lt;br /&gt;
| Includes: &lt;br /&gt;
* [[VI]]s [[VI File Extension| &#039;&#039;(.vi)&#039;&#039;]]&lt;br /&gt;
* [[CTL File Extension|Controls &#039;&#039;(*.ctl)&#039;&#039;]]&lt;br /&gt;
* [[Polymorphic VI]]s&lt;br /&gt;
* [[Malleable VI]]s [[VIM File Extension| &#039;&#039;(.vim)&#039;&#039;]]&lt;br /&gt;
* [[Global Variable]]s&lt;br /&gt;
* [[VI Template]]s [[VIT File Extension| &#039;&#039;(.vit)&#039;&#039;]]&lt;br /&gt;
|-&lt;br /&gt;
| Web Service &lt;br /&gt;
| {2386AD17-A358-4EA9-86F1-7808B4D5B5ED}&lt;br /&gt;
| Web Service node &lt;br /&gt;
|-&lt;br /&gt;
| XControl &lt;br /&gt;
| {2E4BD3AC-4E04-45C9-B6C5-AD138962C435}&lt;br /&gt;
| [[XControl]]&lt;br /&gt;
|-&lt;br /&gt;
| XNode &lt;br /&gt;
| {35CAD751-77A8-4D0F-BF61-85A48475F6A5}&lt;br /&gt;
| [[XNode]]&lt;br /&gt;
|-&lt;br /&gt;
| Zip File &lt;br /&gt;
| {51F0E16F-7FA4-4E9F-AE30-C81D9D0444B0}&lt;br /&gt;
| Zip File node under Build Specifications&lt;br /&gt;
|-&lt;br /&gt;
| .NET Interop Assembly &lt;br /&gt;
| {0E6E9692-2CDC-4645-B4F6-93F9260BF6FA}&lt;br /&gt;
| .NET Interop Assembly node under Build Specifications&lt;br /&gt;
|-&lt;br /&gt;
| {69A947D5-514E-4E75-818E-69657C0547D8} &lt;br /&gt;
| {69A947D5-514E-4E75-818E-69657C0547D8} &lt;br /&gt;
| Real-Time Application node under Build Specifications (under an RT Target)&lt;br /&gt;
|-&lt;br /&gt;
| {117D6E82-86E4-4435-99C8-B638EE47B29E}&lt;br /&gt;
| {117D6E82-86E4-4435-99C8-B638EE47B29E} &lt;br /&gt;
| Real-Time Application node under Build Specifications (under a Raspberry Pi 2 B Target) &lt;br /&gt;
|-&lt;br /&gt;
| {9C5E1E31-72F0-41E9-9B17-FFBE4626F549} &lt;br /&gt;
| {9C5E1E31-72F0-41E9-9B17-FFBE4626F549} &lt;br /&gt;
| IP Build node under Build Specifications (under an IP Builder target)&lt;br /&gt;
|-&lt;br /&gt;
| {CED73189-3D7D-4B2F-B6C9-EA03FBC59E14} &lt;br /&gt;
| {CED73189-3D7D-4B2F-B6C9-EA03FBC59E14} &lt;br /&gt;
| Linux RT Package node under Build Specifications&lt;br /&gt;
|-&lt;br /&gt;
| {E661DAE2-7517-431F-AC41-30807A3BDA38} &lt;br /&gt;
| {E661DAE2-7517-431F-AC41-30807A3BDA38} &lt;br /&gt;
| Package node under Build Specifications&lt;br /&gt;
|-&lt;br /&gt;
| {F4C5E96F-7410-48A5-BB87-3559BC9B167F} &lt;br /&gt;
| {F4C5E96F-7410-48A5-BB87-3559BC9B167F} &lt;br /&gt;
| Compilation node under Build Specifications (under an FPGA target) &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Project]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Heap_storage_format&amp;diff=31550</id>
		<title>Heap storage format</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Heap_storage_format&amp;diff=31550"/>
		<updated>2022-01-30T05:54:58Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: /* Verbose Tagged Text */ Added resource ID&amp;#039;s for Verbose Tagged Text, and fixed a typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Front Panel]] and [[Block Diagram]] of a [[VI|VI file]] are internally called Heaps. Across versions of [[LabVIEW]], several storage formats were used for these heaps.&lt;br /&gt;
&lt;br /&gt;
The format used in currently opened &#039;&#039;VI file&#039;&#039; can be selected in [[Ned options]]. The format used in new &#039;&#039;VI files&#039;&#039; depends on the version of LabVIEW.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Changing the Heap Storage format in Ned may cause your VI to no longer open! Make sure to experiment on scrap copies of files.&lt;br /&gt;
&lt;br /&gt;
== Binary format 1 ==&lt;br /&gt;
&lt;br /&gt;
Used in first versions of LabVIEW. Has [[Resource_Container#Known_Resources|Resource ID]] of &#039;&#039;FPHP&#039;&#039; and &#039;&#039;BDHP&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Binary format 2 ==&lt;br /&gt;
&lt;br /&gt;
First update of the format, prepared to handle separation of [[Type descriptor|Type Descriptors]] from heap data. Has [[Resource_Container#Known_Resources|Resource ID]] of &#039;&#039;FPHb&#039;&#039; and &#039;&#039;BDHb&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Binary format 3 ==&lt;br /&gt;
&lt;br /&gt;
After this update, all data stored within heap was separated from the main heap tree, dividing heap into two blocks: structure and data. Has [[Resource_Container#Known_Resources|Resource ID]] of &#039;&#039;FPHc&#039;&#039; and &#039;&#039;BDHc&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Verbose Tagged Text ==&lt;br /&gt;
&lt;br /&gt;
A text based format, created to be easily readable by humans. Has [[Resource ID]] of &#039;&#039;FPHT&#039;&#039; and &#039;&#039;BDHT&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== XML format ==&lt;br /&gt;
&lt;br /&gt;
Since the structure of the heap fits XML format perfectly, would be a sin not to add such option.&lt;br /&gt;
Has [[Resource_Container#Known_Resources|Resource ID]] of &#039;&#039;FPHX&#039;&#039; and &#039;&#039;BDHX&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Category:LabVIEW internals]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Heap_Peek&amp;diff=31549</id>
		<title>Heap Peek</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Heap_Peek&amp;diff=31549"/>
		<updated>2022-01-30T05:53:02Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: /* Heap View */ Made &amp;quot;exporting a few to XML&amp;quot; a link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Heap Peek is a debug feature available at least since [[LabVIEW 3.0]]. It allows to view internal data structures created for all loaded VI files, including Front Panel Heap and Block Diagram Heap.&lt;br /&gt;
The feature is intended for use by LV R&amp;amp;D, though users may in some cases be instructed by LV Support to check something there.&lt;br /&gt;
&lt;br /&gt;
== Enabling Heap Peek ==&lt;br /&gt;
&lt;br /&gt;
The Heap Peek keyboard shortcut is by default disabled in fresh installations of [[LabVIEW]]. To enable it:&lt;br /&gt;
* Close LabVIEW&lt;br /&gt;
* Put the key &amp;quot;LVdebugKeys=True&amp;quot; in your [[LabVIEW configuration file]]&lt;br /&gt;
&lt;br /&gt;
Then, to trigger the Heap Peek window:&lt;br /&gt;
* Open your VI&lt;br /&gt;
* Press CTRL+SHIFT+D+H. On Mac, use the command key instead of CTRL. This will open the Heap Peek window.&lt;br /&gt;
&lt;br /&gt;
== Using Heap Peek ==&lt;br /&gt;
&lt;br /&gt;
The window is divided into 5 sections:&lt;br /&gt;
* Loaded Container Files are in top-left,&lt;br /&gt;
* Heap View is top-right,&lt;br /&gt;
* Structure selection for info pane in middle-left,&lt;br /&gt;
* Toolbar at the middle,&lt;br /&gt;
* Information pane is at base.&lt;br /&gt;
&lt;br /&gt;
The first section, as for usage flow, is top-left one. Start there, by left clicking to select the specific file and specific heap you want to look at.&lt;br /&gt;
When the heap is selected, you can display many details on it by clicking rows of either top-right or middle section. These details will show at base, in Information pane.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Heap Peek only displays information and does not have any ability to change the objects. It does, however, display the locations in memory where the information is stored, which makes it easy to use external memory editing software for this purpose.&lt;br /&gt;
&lt;br /&gt;
== Loaded Container Files list ==&lt;br /&gt;
&lt;br /&gt;
The list is divided into Contexts. In each of these, you can see memory location of the item (within LabVIEW process memory), and entries marked &#039;&#039;BDHP&#039;&#039; or &#039;&#039;FPHP&#039;&#039;.&lt;br /&gt;
* &#039;&#039;BDHP&#039;&#039; is Block Diagram Heap&lt;br /&gt;
* &#039;&#039;FPHP&#039;&#039; is Front Panel Heap&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; There are [[VI|VIs]] in LV that are not real VIs (for example, a pseudo VI that is created to represent a Call By Reference to another application instance on another machine), and attempting to do Find to jump to their components can cause problems because those VIs never expect to actually draw themselves.&lt;br /&gt;
&lt;br /&gt;
== Heap View ==&lt;br /&gt;
&lt;br /&gt;
Heap, for LV, is really a [[Front Panel]] or [[Block Diagram]]. Despite the name, they don&#039;t really have a heap-like structure. Both FP and BD are stored in form of a tree, strongly inspired by [https://en.wikipedia.org/wiki/XML XML format]. The main difference is - the LV Heap format is binary, not text-based.&lt;br /&gt;
&lt;br /&gt;
In &#039;&#039;Heap View&#039;&#039;, Heaps are displayed in a flattened form, not in its full tree-like glory. Part of the entries show properties of the whole pane, and the rest is [[Control|controls]], [[Indicator|indicators]] and other elements added to the pane.&lt;br /&gt;
&lt;br /&gt;
The view for &#039;&#039;FPHP&#039;&#039; reveals that controls and indicators are composed of several [[Control Parts|parts]] - ie. Numeric controls consist of: Label, Frame, Up/Down buttons, Edit field, Radix and Annex. Each [[Control_Parts#List_of_parts|part has partID]], which is used by LV to identify type of that part.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; To learn more about LV Heaps, consider [[Heap storage format|exporting a few to XML]], and looking at them there. The flat list visible in &#039;&#039;Heap View&#039;&#039; will be very helpful when you understand them, but it&#039;s not the best way to acquire that understanding.&lt;br /&gt;
&lt;br /&gt;
== Structure selection ==&lt;br /&gt;
&lt;br /&gt;
Here you can select one of the structures within VI files other than &#039;&#039;FPHP&#039;&#039;/&#039;&#039;BDHP&#039;&#039;. These are per-file, not per-heap - so you won&#039;t find any difference in them if you select different part of the same file in Loaded Container Files list.&lt;br /&gt;
&lt;br /&gt;
The selectable options are:&lt;br /&gt;
* &#039;&#039;VI Fields&#039;&#039; - lists values of many common settings and flags of the VI file&lt;br /&gt;
* &#039;&#039;DS Fields&#039;&#039; - lists Data Space properties, including Table of QEs and Table of TMEs&lt;br /&gt;
* &#039;&#039;OH Fields&#039;&#039;&lt;br /&gt;
* &#039;&#039;Stats&#039;&#039; - statistics for objects used within Heaps&lt;br /&gt;
* &#039;&#039;Link Info&#039;&#039; - content of all LinkObj lists&lt;br /&gt;
* &#039;&#039;Names In Memory&#039;&#039;&lt;br /&gt;
* &#039;&#039;IL Code Stream&#039;&#039; - Prints Intermediate Language Code used during code compilation process&lt;br /&gt;
* &#039;&#039;Code Disassembly&#039;&#039; - Prints assembly generated by the compiler for given VI file&lt;br /&gt;
* &#039;&#039;Transform Metrics&#039;&#039;&lt;br /&gt;
* &#039;&#039;UDClass Info&#039;&#039;&lt;br /&gt;
* &#039;&#039;Full OMUDClassPtr List&#039;&#039;&lt;br /&gt;
* &#039;&#039;Available Implementers&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== DS Fields ===&lt;br /&gt;
&lt;br /&gt;
[[Data Space]] in an important concept in LV internals. In short, &#039;&#039;Data Space&#039;&#039; contains filling for all type mapped [[data type]]s. Be sure to read more on [[Data Space]] to understand it better.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;DS Fields&#039;&#039; section contains some general information on [[Data Space]] of the file, and then displays whole mapping of the Data Space (&#039;&#039;DSTM&#039;&#039;). As of LV2014 it doesn&#039;t show values stored in data space, but it shows offsets within said Data Space, and Type Map Entries (&#039;&#039;&#039;TME&#039;&#039;&#039;s) with information about which data type is stored there, with all its properties. The &#039;&#039;DSTM&#039;&#039; data in this section is cut to only show part of Data Space which is used for different purposes than Heap - the complete Data Space is always larger.&lt;br /&gt;
&lt;br /&gt;
== Toolbar ==&lt;br /&gt;
&lt;br /&gt;
The toolbar consists of several fields.&lt;br /&gt;
* Next/prev buttons&lt;br /&gt;
* Currently selected item name text&lt;br /&gt;
* &#039;&#039;&#039;U&#039;&#039;&#039; button&lt;br /&gt;
* &#039;&#039;&#039;F&#039;&#039;&#039; button - Click on it to find the object selected in Heap View. LabVIEW will switch to the block diagram or front panel and select related object.&lt;br /&gt;
* &#039;&#039;&#039;uo&#039;&#039;&#039; button - Toggles between sorting the list on the right by UID (the default) or by memory address.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; A previous author said that few developers really know the capacities of heap peek. This is true... it&#039;s a debugging tool, and it gets hacked up to debug whatever anyone needs to debug.&lt;br /&gt;
&lt;br /&gt;
[[Category:LabVIEW internals]]&lt;br /&gt;
[[Category:Debugging]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Heap_Peek&amp;diff=31548</id>
		<title>Heap Peek</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Heap_Peek&amp;diff=31548"/>
		<updated>2022-01-30T05:45:32Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: /* Toolbar */ Added function of &amp;quot;uo&amp;quot; button, corrected capitalization&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Heap Peek is a debug feature available at least since [[LabVIEW 3.0]]. It allows to view internal data structures created for all loaded VI files, including Front Panel Heap and Block Diagram Heap.&lt;br /&gt;
The feature is intended for use by LV R&amp;amp;D, though users may in some cases be instructed by LV Support to check something there.&lt;br /&gt;
&lt;br /&gt;
== Enabling Heap Peek ==&lt;br /&gt;
&lt;br /&gt;
The Heap Peek keyboard shortcut is by default disabled in fresh installations of [[LabVIEW]]. To enable it:&lt;br /&gt;
* Close LabVIEW&lt;br /&gt;
* Put the key &amp;quot;LVdebugKeys=True&amp;quot; in your [[LabVIEW configuration file]]&lt;br /&gt;
&lt;br /&gt;
Then, to trigger the Heap Peek window:&lt;br /&gt;
* Open your VI&lt;br /&gt;
* Press CTRL+SHIFT+D+H. On Mac, use the command key instead of CTRL. This will open the Heap Peek window.&lt;br /&gt;
&lt;br /&gt;
== Using Heap Peek ==&lt;br /&gt;
&lt;br /&gt;
The window is divided into 5 sections:&lt;br /&gt;
* Loaded Container Files are in top-left,&lt;br /&gt;
* Heap View is top-right,&lt;br /&gt;
* Structure selection for info pane in middle-left,&lt;br /&gt;
* Toolbar at the middle,&lt;br /&gt;
* Information pane is at base.&lt;br /&gt;
&lt;br /&gt;
The first section, as for usage flow, is top-left one. Start there, by left clicking to select the specific file and specific heap you want to look at.&lt;br /&gt;
When the heap is selected, you can display many details on it by clicking rows of either top-right or middle section. These details will show at base, in Information pane.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Heap Peek only displays information and does not have any ability to change the objects. It does, however, display the locations in memory where the information is stored, which makes it easy to use external memory editing software for this purpose.&lt;br /&gt;
&lt;br /&gt;
== Loaded Container Files list ==&lt;br /&gt;
&lt;br /&gt;
The list is divided into Contexts. In each of these, you can see memory location of the item (within LabVIEW process memory), and entries marked &#039;&#039;BDHP&#039;&#039; or &#039;&#039;FPHP&#039;&#039;.&lt;br /&gt;
* &#039;&#039;BDHP&#039;&#039; is Block Diagram Heap&lt;br /&gt;
* &#039;&#039;FPHP&#039;&#039; is Front Panel Heap&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; There are [[VI|VIs]] in LV that are not real VIs (for example, a pseudo VI that is created to represent a Call By Reference to another application instance on another machine), and attempting to do Find to jump to their components can cause problems because those VIs never expect to actually draw themselves.&lt;br /&gt;
&lt;br /&gt;
== Heap View ==&lt;br /&gt;
&lt;br /&gt;
Heap, for LV, is really a [[Front Panel]] or [[Block Diagram]]. Despite the name, they don&#039;t really have a heap-like structure. Both FP and BD are stored in form of a tree, strongly inspired by [https://en.wikipedia.org/wiki/XML XML format]. The main difference is - the LV Heap format is binary, not text-based.&lt;br /&gt;
&lt;br /&gt;
In &#039;&#039;Heap View&#039;&#039;, Heaps are displayed in a flattened form, not in its full tree-like glory. Part of the entries show properties of the whole pane, and the rest is [[Control|controls]], [[Indicator|indicators]] and other elements added to the pane.&lt;br /&gt;
&lt;br /&gt;
The view for &#039;&#039;FPHP&#039;&#039; reveals that controls and indicators are composed of several [[Control Parts|parts]] - ie. Numeric controls consist of: Label, Frame, Up/Down buttons, Edit field, Radix and Annex. Each [[Control_Parts#List_of_parts|part has partID]], which is used by LV to identify type of that part.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; To learn more about LV Heaps, consider exporting a few to XML, and looking at them there. The flat list visible in &#039;&#039;Heap View&#039;&#039; will be very helpful when you understand them, but it&#039;s not the best way to acquire that understanding.&lt;br /&gt;
&lt;br /&gt;
== Structure selection ==&lt;br /&gt;
&lt;br /&gt;
Here you can select one of the structures within VI files other than &#039;&#039;FPHP&#039;&#039;/&#039;&#039;BDHP&#039;&#039;. These are per-file, not per-heap - so you won&#039;t find any difference in them if you select different part of the same file in Loaded Container Files list.&lt;br /&gt;
&lt;br /&gt;
The selectable options are:&lt;br /&gt;
* &#039;&#039;VI Fields&#039;&#039; - lists values of many common settings and flags of the VI file&lt;br /&gt;
* &#039;&#039;DS Fields&#039;&#039; - lists Data Space properties, including Table of QEs and Table of TMEs&lt;br /&gt;
* &#039;&#039;OH Fields&#039;&#039;&lt;br /&gt;
* &#039;&#039;Stats&#039;&#039; - statistics for objects used within Heaps&lt;br /&gt;
* &#039;&#039;Link Info&#039;&#039; - content of all LinkObj lists&lt;br /&gt;
* &#039;&#039;Names In Memory&#039;&#039;&lt;br /&gt;
* &#039;&#039;IL Code Stream&#039;&#039; - Prints Intermediate Language Code used during code compilation process&lt;br /&gt;
* &#039;&#039;Code Disassembly&#039;&#039; - Prints assembly generated by the compiler for given VI file&lt;br /&gt;
* &#039;&#039;Transform Metrics&#039;&#039;&lt;br /&gt;
* &#039;&#039;UDClass Info&#039;&#039;&lt;br /&gt;
* &#039;&#039;Full OMUDClassPtr List&#039;&#039;&lt;br /&gt;
* &#039;&#039;Available Implementers&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== DS Fields ===&lt;br /&gt;
&lt;br /&gt;
[[Data Space]] in an important concept in LV internals. In short, &#039;&#039;Data Space&#039;&#039; contains filling for all type mapped [[data type]]s. Be sure to read more on [[Data Space]] to understand it better.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;DS Fields&#039;&#039; section contains some general information on [[Data Space]] of the file, and then displays whole mapping of the Data Space (&#039;&#039;DSTM&#039;&#039;). As of LV2014 it doesn&#039;t show values stored in data space, but it shows offsets within said Data Space, and Type Map Entries (&#039;&#039;&#039;TME&#039;&#039;&#039;s) with information about which data type is stored there, with all its properties. The &#039;&#039;DSTM&#039;&#039; data in this section is cut to only show part of Data Space which is used for different purposes than Heap - the complete Data Space is always larger.&lt;br /&gt;
&lt;br /&gt;
== Toolbar ==&lt;br /&gt;
&lt;br /&gt;
The toolbar consists of several fields.&lt;br /&gt;
* Next/prev buttons&lt;br /&gt;
* Currently selected item name text&lt;br /&gt;
* &#039;&#039;&#039;U&#039;&#039;&#039; button&lt;br /&gt;
* &#039;&#039;&#039;F&#039;&#039;&#039; button - Click on it to find the object selected in Heap View. LabVIEW will switch to the block diagram or front panel and select related object.&lt;br /&gt;
* &#039;&#039;&#039;uo&#039;&#039;&#039; button - Toggles between sorting the list on the right by UID (the default) or by memory address.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; A previous author said that few developers really know the capacities of heap peek. This is true... it&#039;s a debugging tool, and it gets hacked up to debug whatever anyone needs to debug.&lt;br /&gt;
&lt;br /&gt;
[[Category:LabVIEW internals]]&lt;br /&gt;
[[Category:Debugging]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Loading_vis&amp;diff=31547</id>
		<title>Loading vis</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Loading_vis&amp;diff=31547"/>
		<updated>2022-01-29T20:08:42Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: Flarn2006 moved page Loading vis to Loading VIs over redirect: Fixed capitalization&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Loading VIs]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Loading_VIs&amp;diff=31546</id>
		<title>Loading VIs</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Loading_VIs&amp;diff=31546"/>
		<updated>2022-01-29T20:08:42Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: Flarn2006 moved page Loading vis to Loading VIs over redirect: Fixed capitalization&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{wikify}}&lt;br /&gt;
==Flowchart==&lt;br /&gt;
&lt;br /&gt;
This is a simplified flow chart showing LabVIEW&#039;s decision tree when loading a vi into memory from disk.&amp;lt;br /&amp;gt;&lt;br /&gt;
Note this diagram applies to LabVIEW 2010 when compiled code is not separated from source code.  Other versions may be slightly different.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:LoadingLabviewVI.png|center|thumb|500px]]&lt;br /&gt;
==Discussion==&lt;br /&gt;
&#039;&#039;&#039;Aristos Queue&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I&#039;m going to try to explain some details of loading a VI. What happens during load depends upon what happened when the VI was last saved, so let&#039;s start there.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A good VI is one that has an unbroken run arrow. A broken VI is one that has a red X next to its name in the Error List Window because that VI itself has some problem. A bad VI is one that is listed in the Error List Window because some other VI/library that it depends upon is broken. There&#039;s a special case involving typedefs, poly VIs, and global VIs that are in the middle of being edited but are at the moment valid typedefs (i.e., they would not be broken if user did Apply Changes). Such VIs have the pencil icon next to their name in the Error List Window. Those VIs are good, but VIs that use them are bad.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
If a VI was good, then we can compile the VI, meaning we can generate the assembly instructions for that VI to run. If a VI is good, when we save, we compile the VI, and we save the compiled code as part of the VI.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If a VI was broken or bad then we can&#039;t compile it, so when we save such a VI, we obviously can&#039;t save the compiled code. However, a VI might have been good, been compiled, and then become bad without any changes to its own block diagram. In that case, we already have the compiled code for the VI, and so we&#039;ll save that with the VI. There&#039;s also the special case of a VI that is broken only because it is missing subVIs. We may already have compiled code for such a VI, and so we&#039;ll keep that code around if we are asked to save again. (In the case of typedefs, they do have compiled code. They carry the instructions for copying and comparing their data. PolyVIs have no code. I&#039;m not sure about global VIs.)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Ok. That covers save (or, rather, it covers enough of save that we can now talk about load).&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
When we use the phrase &amp;quot;a VI is in loaded into memory&amp;quot;, we really mean, &amp;quot;some portion of the VI&#039;s file is in memory in a way that other VIs may link to it and it can be edited and/or executed.&amp;quot; If you use the VI Server method &amp;quot;Read Linker Info&amp;quot;, that reads the connection information of a VI without loading the VI -- so although we opened the VI file and read some data out of it, we didn&#039;t properly make the VI available to the editor and execution system. Same when the palettes load -- they read the icons out of the VIs in the directories, without actually loading the VIs.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
There are N parts of a VI, where N is a number I don&#039;t remember right now. But for the purposes of this conversation, we can really think of there being just three parts: the front panel (FP), the block diagram (BD) and something I&#039;m going to call &amp;quot;the linker/code block&amp;quot; (LC). That&#039;s not a term you&#039;ll find anywhere else because I just made it up. The LC is all the stuff that makes a VI be a VI in memory, including:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*the linker information (the list of other LV files upon which this VI depends)&lt;br /&gt;
*the identity of the VI (which library owns this VI)&lt;br /&gt;
*the compiled assembly code (unless the VI is broken, in which case there is no compiled assembly code)&lt;br /&gt;
*and probably some other stuff not relevant to this conversation.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
In the development environment, whenever you say File &amp;gt;&amp;gt; Open and load a top-level VI, the LC and FP load into memory. If the VI was last saved as bad or broken or if it turns out to be bad/broken after it finishes loading its dependencies, then the BD also loads into memory. If that VI has subVIs, the LC for all those subVIs load into memory. The FP loads if the subVI is considered necessary (see my earlier post in this thread for things that make that necessary). Both the FP and BD are loaded if those subVIs were saved bad or broken OR if they turn out to be bad/broken once dependencies are loaded.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
For all VIs, if an edit is needed during load (say, a subVI conpane changed while the caller was not in memory, or a typedef needs to update, or LV version mutation, or updating the path to a subVI), both FP and BD load.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the runtime engine, the BD never loads. Obviously, the BD doesn&#039;t load if the VI was saved without a block diagram. In a real-time system, neither the FP nor the BD ever load.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
After loading the VI (and all its dependencies), if the compiled code is missing and the block diagram is loaded and the VI is not broken/bad, then LV will go ahead and compile the VI and put a docmod on the VI (the little asterisk that means &amp;quot;this VI has unsaved changes&amp;quot;).&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
The FP and BD will eagerly unload as soon as the reasons for them staying in memory are dealt with. So if you fix a broken VI and then save the changes, FP and BD will unload unless the windows are open or the FP is necessary for the VI.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
If you want proof that the diagram loads independently, try this: Save a caller VI and its subVI. Open the caller VI. In the operating system, copy the subVI file on disk to a temp location. Back in LV, open and modify the subVI&#039;s diagram. Save the subVI and close the panel and diagram (keep the caller VI open). Now copy the temp file over the subVI file. Now open the block diagram of the subVI again. You&#039;ll get one of the more interesting dialogs that LV has to offer, noting that the diagram saved doesn&#039;t match the VI in memory and you can either choose not reload the diagram or do load the diagram which will recompile your VI for the new diagram code. If you didn&#039;t save the subVI (meaning you choose Defer Decision on the Save Changes dialog), then the diagram is already in memory and I&#039;m pretty sure you won&#039;t get that dialog because LV doesn&#039;t bother to check disk for stuff it already has loaded.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Daklu&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Say you&#039;re editing a typedef cluster and all the dependent LC blocks are loaded, but their FP/BD&#039;s are not. When the typedef&#039;s changes are applied, LV finds all the dependent vis, loads the block diagrams, and makes the necessary edits transparently to the user. (i.e. Without opening windows to the block diagrams.) Since the dependent vis are now dirty their FPs are also loaded into memory, forcing data copies for those FP controls when the app is executed, even though the FP windows aren&#039;t open, right?&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Aristos Queue&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Yes. All that is correct.&amp;lt;br /&amp;gt;&lt;br /&gt;
There&#039;s another variant -- the FP could be the thing hosting the typedef, and when the typedef changes, LV will load both the FP and the BD into memory in order to update the FP. The reason the BD loads is because the VI has to recompile to deal with the typedef change.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Daklu&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Does this behavior change when separating compiled code in LV10? My initial thought is that LV ought to be able to recompile the dependent vi&#039;s source code and remove the FP/BD from memory without marking them dirty, and simply wait until the user opens that vi before giving it a dirty dot. But that could lead to confusing behavior when multiple typedef changes are applied sequentially (like what happens when a vi&#039;s LC block isn&#039;t loaded when changes are applied) so I&#039;m guessing no.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Aristos Queue&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
I know that it does change. I do not know how dramatic the change is. Your analysis sounds completely plausible, but I haven&#039;t really stayed up-to-date on the source-obj splitting.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Daklu&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
The one open question I still don&#039;t have an answer to is why does the FP have to be loaded when the BD loaded?&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Aristos Queue&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Up until LV 2009, the default values of controls were stored as part of the front panel, so any time the VI wanted to recompile, the panel was actually necessary to generate the code. Nowadays the default values have been moved out of the panel, and we are inching closer to the day when the recompile could happen with just the diagram without the panel, but there are 25 years worth of code that assumes &amp;quot;if I have the diagram then I know the panel is in memory, so I don&#039;t have to test for NULL&amp;quot;. It&#039;s a low priority refactoring that is ooching forward.&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
Original [http://lavag.org/topic/7015-using-lv-class-vs-passing-cluster/page__view__findpost__p__82679 LAVA] discussion.&lt;br /&gt;
&lt;br /&gt;
[[Category:LabVIEW internals]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Control_Parts&amp;diff=31545</id>
		<title>Control Parts</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Control_Parts&amp;diff=31545"/>
		<updated>2022-01-29T20:08:04Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Each &#039;&#039;&#039;Control&#039;&#039;&#039; or &#039;&#039;&#039;Indicator&#039;&#039;&#039; in LabVIEW consists of &#039;&#039;&#039;parts&#039;&#039;&#039;. &#039;&#039;&#039;Parts&#039;&#039;&#039; are the individual elements which make up all [[Control|controls]] within [[Front Panel]] of a [[VI]].&lt;br /&gt;
&lt;br /&gt;
[[Control editor]] allows viewing list of parts in a &#039;&#039;Control&#039;&#039;, and modifying their properties. &#039;&#039;Parts&#039;&#039; can also be browsed through [[Heap Peek]], and using XML [[Heap storage format]].&lt;br /&gt;
&lt;br /&gt;
== List of part ID&#039;s ==&lt;br /&gt;
&lt;br /&gt;
Every control part contains a &amp;quot;part ID&amp;quot; field which determines its purpose and functionality in the control. For example, a digital numeric control contains two [[BigMultiCosmetic]] parts for the increment and decrement buttons; the part ID is what determines which one is which. The [[Parts Window]] in the control editor displays the part ID as the textual name for the part, though the actual number is only visible in Heap Peek.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Part ID&lt;br /&gt;
! Long Name&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Cosmetic&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Increment&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Decrement&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Large Increment&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Large Decrement&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Pixel Increment&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Pixel Decrement&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|Housing&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Frame&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|Numeric Text&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|Text&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|Ring Text&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|Scrollbar&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|Ring Picture&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|Radix&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|Name Label&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|Scale&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|X Scale&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|Y Scale&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|20&lt;br /&gt;
|Out of Range Box&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|21&lt;br /&gt;
|Boolean Button&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|22&lt;br /&gt;
|Boolean Text&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|23&lt;br /&gt;
|Slider, Needle, or Thumb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|Set to Default&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|Decoration&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|26&lt;br /&gt;
|List Area&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|27&lt;br /&gt;
|Scale Marker&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|Content Area&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|29&lt;br /&gt;
|DDO Frame&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|30&lt;br /&gt;
|Index Frame&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|31&lt;br /&gt;
|Fill&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|32&lt;br /&gt;
|Graph Legend&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|33&lt;br /&gt;
|Graph Palette&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|34&lt;br /&gt;
|X Fit Button&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|35&lt;br /&gt;
|Y Fit Button&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|36&lt;br /&gt;
|X Fit Lock Button&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|37&lt;br /&gt;
|Y Fit Lock Button&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|38&lt;br /&gt;
|X Scrollbar&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|39&lt;br /&gt;
|Y Scrollbar&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|40&lt;br /&gt;
|Scale Tick&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|41&lt;br /&gt;
|Color Area&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|42&lt;br /&gt;
|Palette Background&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|43&lt;br /&gt;
|Control or Indicator Symbol&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|44&lt;br /&gt;
|Extra Frame Part&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|45&lt;br /&gt;
|Scale Min Tick&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|46&lt;br /&gt;
|Pix Map Palette&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|47&lt;br /&gt;
|Select Button&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|48&lt;br /&gt;
|Text Button&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|49&lt;br /&gt;
|Erase Button&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|50&lt;br /&gt;
|Pen Button&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|51&lt;br /&gt;
|Sucker Button&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|52&lt;br /&gt;
|Bucket Button&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|53&lt;br /&gt;
|Line Button&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|54&lt;br /&gt;
|Rectangle Button&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|55&lt;br /&gt;
|Filled Rectangle Button&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|56&lt;br /&gt;
|Oval Button&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|57&lt;br /&gt;
|Filled Oval Button&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|58&lt;br /&gt;
|Pattern&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|59&lt;br /&gt;
|Foreground Color&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|60&lt;br /&gt;
|Background Color&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|61&lt;br /&gt;
|Pix Map Palette Extra&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|62&lt;br /&gt;
|Zoom Bar&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|63&lt;br /&gt;
|Boolean True Label&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|64&lt;br /&gt;
|Boolean False Label&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|65&lt;br /&gt;
|Unit Label&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|66&lt;br /&gt;
|Annex&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|67&lt;br /&gt;
|Old Graph Cursor&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|68&lt;br /&gt;
|Z Scale&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|69&lt;br /&gt;
|Color Ramp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|70&lt;br /&gt;
|Output Indicator&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|71&lt;br /&gt;
|X Scale Unit Label&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|72&lt;br /&gt;
|Y Scale Unit Label&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|73&lt;br /&gt;
|Z Scale Unit Label&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|74&lt;br /&gt;
|Graph Move Tool&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|75&lt;br /&gt;
|Graph Zoom Tool&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|76&lt;br /&gt;
|Graph Cursor Tool&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|77&lt;br /&gt;
|Graph X Format&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|78&lt;br /&gt;
|Graph Y Format&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|79&lt;br /&gt;
|Combo Box Button&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|80&lt;br /&gt;
|Diagram Identifier&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|81&lt;br /&gt;
|Menu Title Label&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|82&lt;br /&gt;
|Caption&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|83&lt;br /&gt;
|Refnum Symbol&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|85&lt;br /&gt;
|Formerly Annex2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|86&lt;br /&gt;
|Boolean Light&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|87&lt;br /&gt;
|Boolean Glyph&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|88&lt;br /&gt;
|Boolean Divot&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|89&lt;br /&gt;
|Boolean Shadow&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|90&lt;br /&gt;
|Tab&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|91&lt;br /&gt;
|Page List Button&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|92&lt;br /&gt;
|Tab Caption&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|93&lt;br /&gt;
|Tab  Background&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|94&lt;br /&gt;
|Scale Name&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|95&lt;br /&gt;
|Slide Cap&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|97&lt;br /&gt;
|Contained data type&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|98&lt;br /&gt;
|Position data type&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|99&lt;br /&gt;
|Tab Glyph&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|100&lt;br /&gt;
|Grid&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|101&lt;br /&gt;
|Num Label&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|102&lt;br /&gt;
|Split Bar&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|103&lt;br /&gt;
|Mutli Y-Scrollbar&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|104&lt;br /&gt;
|Graph ViewPort&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|105&lt;br /&gt;
|Grab Handle&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|106&lt;br /&gt;
|Graph Splitter Bar&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|107&lt;br /&gt;
|Graph Legend Area&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|108&lt;br /&gt;
|Graph Legend Scrollbar&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|109&lt;br /&gt;
|Data Binding Status&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|110&lt;br /&gt;
|Ternary Text&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|111&lt;br /&gt;
|Ternary Button&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|112&lt;br /&gt;
|Multi-Segment Pipe Flange&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|113&lt;br /&gt;
|Multi-Segment Pipe Elbow&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|114&lt;br /&gt;
|Multi-Segment Pipe Pipe&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|115&lt;br /&gt;
|Graph Legend Frame&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|116&lt;br /&gt;
|Scene Graph Display&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|117&lt;br /&gt;
|Overflow Status&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|118&lt;br /&gt;
|Radix Shadow&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|119&lt;br /&gt;
|Custom Cosmetic&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|120&lt;br /&gt;
|Typedef Corner&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8000&lt;br /&gt;
|Non-Colorable Decal&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8001&lt;br /&gt;
|Digital Display&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8002&lt;br /&gt;
|Array Index&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8003&lt;br /&gt;
|Variant Index&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8004&lt;br /&gt;
|Listbox Display&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8005&lt;br /&gt;
|Data Display&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8006&lt;br /&gt;
|Measure Data&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8007&lt;br /&gt;
|kNotUsed4&lt;br /&gt;
|Apparently not a valid part.&lt;br /&gt;
|-&lt;br /&gt;
|8008&lt;br /&gt;
|Tree Legend&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8009&lt;br /&gt;
|Color Ramp Array&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8010&lt;br /&gt;
|Type Def&#039;s Control&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8011&lt;br /&gt;
|Cursor Buttons&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8012&lt;br /&gt;
|High Color&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8013&lt;br /&gt;
|Low Color&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8014&lt;br /&gt;
|Graph Cursor&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8015&lt;br /&gt;
|Graph Scale-legend&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8015&lt;br /&gt;
|Table&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8016&lt;br /&gt;
|I/O Name Display&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8017&lt;br /&gt;
|Tab Control Page Selector&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8018&lt;br /&gt;
|Browse Button&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8019&lt;br /&gt;
|Graph Plot Legend&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:LabVIEW internals]]&lt;br /&gt;
[[Category:Front Panel]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Resource_Container&amp;diff=31544</id>
		<title>Resource Container</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Resource_Container&amp;diff=31544"/>
		<updated>2022-01-28T22:39:25Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: Added .rsc extension&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Resource Container&#039;&#039;&#039; file format is a most often used file format within LabVIEW ecosystem. It is a proprietary binary format defined by [[National Instruments]] and used in both [[LabVIEW]] and [https://en.wikipedia.org/wiki/LabWindows/CVI LabWindows/CVI]. The format is strongly inspired by [https://en.wikipedia.org/wiki/Resource_fork Mac OS Resource Fork format], as LabVIEW was originally created for that platform, and ported to other OSes later, at [[LabVIEW 2.0|version 2.5]].&lt;br /&gt;
&lt;br /&gt;
The format is a container, storing a group of &#039;&#039;&#039;Resources&#039;&#039;&#039;. Resources have &#039;&#039;&#039;4-character identifier&#039;&#039;&#039; assigned, and the 4-character identifier for the whole container is &#039;&#039;RSRC&#039;&#039;. Most files used by LabVIEW have that &#039;&#039;RSRC&#039;&#039; format, only the specific &#039;&#039;&#039;Resources&#039;&#039;&#039; stored inside are different. The files with that header include [[VI File Extension|&#039;&#039;*.vi&#039;&#039;]], [[CTL File Extension|&#039;&#039;*.ctl&#039;&#039;]], [[MNU File Extension|&#039;&#039;*.mnu&#039;&#039;]], [[LLB File Extension|&#039;&#039;*.llb&#039;&#039;]], [[DLOG File Extension|&#039;&#039;*.dlog&#039;&#039;]], [[CTT File Extension|&#039;&#039;*.ctt&#039;&#039;]], [[VIT File Extension|&#039;&#039;*.vit&#039;&#039;]], [[UIR File Extension|&#039;&#039;*.uir&#039;&#039;]], [[RSC File Extension|&#039;&#039;*.rsc&#039;&#039;]], and many  created with, or internally used by, LabVIEW.&lt;br /&gt;
&lt;br /&gt;
The resources stored within have their identifiers often identical to those in &#039;&#039;Resource fork&#039;&#039; format, but many new ones are also introduced. Some resources have multiple variations, as their structure changed between versions of [[LabVIEW]].&lt;br /&gt;
&lt;br /&gt;
==Known Resources==&lt;br /&gt;
&lt;br /&gt;
Below a few resources are listed. Note that the text names given for them are mostly informed guesses.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Resource ID&lt;br /&gt;
! Long Name&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|MUID&lt;br /&gt;
|Map Unique Identifier&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FPSE&lt;br /&gt;
|Front Panel Size Estimate&lt;br /&gt;
|Optional resource which can be used to optimize memory allocation when loading the VI file. Contains one integer value, which seem be amount of tags within Front Panel Heap divided by 10. See also: &#039;&#039;BDSE&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|FPTD&lt;br /&gt;
|Front Panel Type for DataLog&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BDSE&lt;br /&gt;
|Block Diagram Size Estimate&lt;br /&gt;
|Optional resource which can be used to optimize memory allocation when loading the VI file. Contains one integer value, which seem be amount of tags within Block Diagram Heap divided by 10. See also: &#039;&#039;FPSE&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|FLAG&lt;br /&gt;
|Integer flags&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CONP&lt;br /&gt;
|Connector Port Type Map&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPTM&lt;br /&gt;
|Connector Port Type Map&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPC2&lt;br /&gt;
|Connector Port Content Type v2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPCT&lt;br /&gt;
|Connector Port Content Type&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPD2&lt;br /&gt;
|Connector Port DI v2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPDI&lt;br /&gt;
|Connector Port DI&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DLGH&lt;br /&gt;
|Dialog HTML&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ERRH&lt;br /&gt;
|Error HTML&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HLPT&lt;br /&gt;
|Help Tag&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|MItm&lt;br /&gt;
|M. Item&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|NODH&lt;br /&gt;
|NOD HTML&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|NOEG&lt;br /&gt;
|NOEG String&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|STRG&lt;br /&gt;
|String description&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TITL&lt;br /&gt;
|Title of the file&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|STR&lt;br /&gt;
|Short String / Input definition?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPST&lt;br /&gt;
|C. P. Strings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DNm#&lt;br /&gt;
|D. Name Strings List&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HDb#&lt;br /&gt;
|Help Database item&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LST#&lt;br /&gt;
|Short Strings List&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|STR#&lt;br /&gt;
|Short Strings List&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FDFL&lt;br /&gt;
|FDFL Strings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIfp&lt;br /&gt;
|LinkObj Refs for Front Panel&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIbd&lt;br /&gt;
|LinkObj Refs for Block diagram&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIds&lt;br /&gt;
|LinkObj Refs for Data Space&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIvi&lt;br /&gt;
|LinkObj Refs for VI&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DFDS&lt;br /&gt;
|Default Fill of Data Space&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|GCDI&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BFAL&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CGRS&lt;br /&gt;
|Conglomerate Resource&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPMp&lt;br /&gt;
|Connection Points Map&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DLDR&lt;br /&gt;
|DL Data Record&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DLLP&lt;br /&gt;
|DL Local Path&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FTAB&lt;br /&gt;
|Font Table&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HIST&lt;br /&gt;
|Changes History&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HLPP&lt;br /&gt;
|Help Path&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LPTH&lt;br /&gt;
|L. Path&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HLPW&lt;br /&gt;
|Help Website URL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|SCSR&lt;br /&gt;
|Syntax Checker Digest&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DTHP&lt;br /&gt;
|Data Types for Heap&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DSTM&lt;br /&gt;
|Data Space Type Map&lt;br /&gt;
|Stores table of [[Type descriptor|Type descriptors]] which make up [[Data Space]] of the VI file. Used in LV 7.1 and older.&lt;br /&gt;
|-&lt;br /&gt;
|TM80&lt;br /&gt;
|Data Space Type Map LV8.0+&lt;br /&gt;
|Stores table of references to [[Type descriptor|Type descriptors]] which make up [[Data Space]] of the [[VI|VI file]]. The actual definitions of &#039;&#039;&#039;TD&#039;&#039;&#039;s are stored in &#039;&#039;VCTP&#039;&#039; block. Used in [[LabVIEW 8|LV 8.0]] and newer.&lt;br /&gt;
|-&lt;br /&gt;
|LVIN&lt;br /&gt;
|LabView Instrument&lt;br /&gt;
|General information about a saved [[VI|VI file]]; definitely used in [[LabVIEW 4.0|LV 4.0]] and older, was replaced by &#039;&#039;LVSR&#039;&#039; at some point.&lt;br /&gt;
|-&lt;br /&gt;
|LVSR&lt;br /&gt;
|LabView Save Record&lt;br /&gt;
|General information about a saved [[VI|VI file]]; replaced &#039;&#039;LVIN&#039;&#039; resource somewhere before [[LabVIEW 6i|LV 6.0]]. The size of this resource increases with [[LabVIEW Versions|LV version]], but old data is always kept at the same offset (new fields are only added at end).&lt;br /&gt;
|-&lt;br /&gt;
|vers&lt;br /&gt;
|Version block&lt;br /&gt;
|Stores version of LV used to create the RSRC file.&lt;br /&gt;
|-&lt;br /&gt;
|PNGI&lt;br /&gt;
|PNG Image&lt;br /&gt;
|Stores a bitmap picture in [https://en.wikipedia.org/wiki/Portable_Network_Graphics PNG format].&lt;br /&gt;
|-&lt;br /&gt;
|MNGI&lt;br /&gt;
|MNG Image&lt;br /&gt;
|While PNGs become quite popular, their animated counterpart, [https://en.wikipedia.org/wiki/Multiple-image_Network_Graphics MNG format], never really caught on.&lt;br /&gt;
|-&lt;br /&gt;
|ICON&lt;br /&gt;
|Icon 32x32 1bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ICN#&lt;br /&gt;
|Icon Large Double 32x64 1bpp&lt;br /&gt;
|Usually used to store one icon in two versions (ie. disabled and active).&lt;br /&gt;
|-&lt;br /&gt;
|ics#&lt;br /&gt;
|Icon Small 16x16 1bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CURS&lt;br /&gt;
|Cursor 16x34 1bpp&lt;br /&gt;
|Usually used to store one cursor in two versions (ie. disabled and active).&lt;br /&gt;
|-&lt;br /&gt;
|ics4&lt;br /&gt;
|Icon Small 16x16 4bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|icl4&lt;br /&gt;
|Icon Large 32x32 4bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ics8&lt;br /&gt;
|Icon Small 16x16 8bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|icl8&lt;br /&gt;
|Icon Large 32x32 8bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BDPW&lt;br /&gt;
|Block Diagram Password&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIBN&lt;br /&gt;
|Library Names&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LVzp&lt;br /&gt;
|LabView Zipped Program tree&lt;br /&gt;
|A whole application compressed to ZIP file.&lt;br /&gt;
|-&lt;br /&gt;
|PRT&lt;br /&gt;
|Print settings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BNID&lt;br /&gt;
|B. N. Identifier&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CNST&lt;br /&gt;
|Constant Node UID set&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LPIN&lt;br /&gt;
|Loop Invariant Node UID set&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|NUID&lt;br /&gt;
|N. U. Identifier&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|SUID&lt;br /&gt;
|S. U. Identifier&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|VPDP&lt;br /&gt;
|VI Primitive Dependency Flags&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BDHP&lt;br /&gt;
|Block Diagram Heap&lt;br /&gt;
|First version of [[Heap storage format]], used to store components placed on Block Diagram.&lt;br /&gt;
|-&lt;br /&gt;
|FPHP&lt;br /&gt;
|Front Panel Heap&lt;br /&gt;
|First version of [[Heap storage format]], used to store components placed on Front Panel.&lt;br /&gt;
|-&lt;br /&gt;
|BDHb&lt;br /&gt;
|Block Diagram Heap ver b&lt;br /&gt;
|Second version of [[Heap storage format]], used to store components placed on Block Diagram.&lt;br /&gt;
|-&lt;br /&gt;
|FPHb&lt;br /&gt;
|Front Panel Heap ver b&lt;br /&gt;
|Second version of [[Heap storage format]], used to store components placed on Front Panel.&lt;br /&gt;
|-&lt;br /&gt;
|BDHc&lt;br /&gt;
|Block Diagram Heap ver c&lt;br /&gt;
|Third version of [[Heap storage format]], used to store components placed on Block Diagram.&lt;br /&gt;
|-&lt;br /&gt;
|FPHc&lt;br /&gt;
|Front Panel Heap ver c&lt;br /&gt;
|Third version of [[Heap storage format]], used to store components placed on Front Panel.&lt;br /&gt;
|-&lt;br /&gt;
|BDHT&lt;br /&gt;
|Block Diagram Heap Text&lt;br /&gt;
|Used when [[Heap storage format]] is set to Verbose Tagged Text.&lt;br /&gt;
|-&lt;br /&gt;
|FPHT&lt;br /&gt;
|Front Panel Heap Text&lt;br /&gt;
|Used when [[Heap storage format]] is set to Verbose Tagged Text.&lt;br /&gt;
|-&lt;br /&gt;
|BDHX&lt;br /&gt;
|Block Diagram Heap XML&lt;br /&gt;
|Used when [[Heap storage format]] is set to XML.&lt;br /&gt;
|-&lt;br /&gt;
|FPHX&lt;br /&gt;
|Front Panel Heap XML&lt;br /&gt;
|Used when [[Heap storage format]] is set to XML.&lt;br /&gt;
|-&lt;br /&gt;
|RTSG&lt;br /&gt;
|Runtime Signature Guid&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|GCPR&lt;br /&gt;
|Generated Code Profiler settings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|UCRF&lt;br /&gt;
|Uncompressed Resource File&lt;br /&gt;
|Used when files are added to &#039;&#039;RSRC&#039;&#039;, ie. within &#039;&#039;*.llb&#039;&#039; files.&lt;br /&gt;
|-&lt;br /&gt;
|CPRF&lt;br /&gt;
|&#039;Comp&#039; Compressed Resource File&lt;br /&gt;
|Used when files are added to &#039;&#039;RSRC&#039;&#039;; very basic mask based compression.&lt;br /&gt;
|-&lt;br /&gt;
|ZCRF&lt;br /&gt;
|ZLib Compressed Resource File&lt;br /&gt;
|Used when files are added to &#039;&#039;RSRC&#039;&#039;; uses compression algorithm from popular Z-Lib library.&lt;br /&gt;
|-&lt;br /&gt;
|DLG3&lt;br /&gt;
|Dialog Resource File&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|VCTP&lt;br /&gt;
|VI Consolidated Data Types&lt;br /&gt;
|Introduced in LV 8.0, stores all [[Type descriptor|Type descriptors]] used within the file. Consists of a Zlib-compressed data block preceded by four bytes containing the length of the compressed data in big-endian.&lt;br /&gt;
|-&lt;br /&gt;
|VICD&lt;br /&gt;
|Virtual Instrument Compiled Data / VI Code&lt;br /&gt;
|Contains the machine code generated by LLVM compiler.&lt;br /&gt;
|-&lt;br /&gt;
|VITS&lt;br /&gt;
|Virtual Instrument Tag Strings&lt;br /&gt;
|Contains a VI&#039;s persistent tags. Tags are additional data which is attached to a VI and manipulated using [[VI Server#Private|private methods]] such as [[VI class/Tag.Set Tag|VI class/Tag.Set Tag]] on the VI object. Certain tags can affect LabVIEW&#039;s functionality; for example, the built-in matrix typedefs&#039; &amp;quot;operator overloading&amp;quot; effect is caused by a tag named &amp;quot;NI.LV.All.OperatorInfo1&amp;quot; in the .ctl files.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:LabVIEW file extensions|other files]]&lt;br /&gt;
[[Category:LabVIEW internals]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Resource_Container&amp;diff=31543</id>
		<title>Resource Container</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Resource_Container&amp;diff=31543"/>
		<updated>2022-01-28T22:38:11Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: Added VCTP compression details&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Resource Container&#039;&#039;&#039; file format is a most often used file format within LabVIEW ecosystem. It is a proprietary binary format defined by [[National Instruments]] and used in both [[LabVIEW]] and [https://en.wikipedia.org/wiki/LabWindows/CVI LabWindows/CVI]. The format is strongly inspired by [https://en.wikipedia.org/wiki/Resource_fork Mac OS Resource Fork format], as LabVIEW was originally created for that platform, and ported to other OSes later, at [[LabVIEW 2.0|version 2.5]].&lt;br /&gt;
&lt;br /&gt;
The format is a container, storing a group of &#039;&#039;&#039;Resources&#039;&#039;&#039;. Resources have &#039;&#039;&#039;4-character identifier&#039;&#039;&#039; assigned, and the 4-character identifier for the whole container is &#039;&#039;RSRC&#039;&#039;. Most files used by LabVIEW have that &#039;&#039;RSRC&#039;&#039; format, only the specific &#039;&#039;&#039;Resources&#039;&#039;&#039; stored inside are different. The files with that header include [[VI File Extension|&#039;&#039;*.vi&#039;&#039;]], [[CTL File Extension|&#039;&#039;*.ctl&#039;&#039;]], [[MNU File Extension|&#039;&#039;*.mnu&#039;&#039;]], [[LLB File Extension|&#039;&#039;*.llb&#039;&#039;]], [[DLOG File Extension|&#039;&#039;*.dlog&#039;&#039;]], [[CTT File Extension|&#039;&#039;*.ctt&#039;&#039;]], [[VIT File Extension|&#039;&#039;*.vit&#039;&#039;]], [[UIR File Extension|&#039;&#039;*.uir&#039;&#039;]], and many  created with, or internally used by, LabVIEW.&lt;br /&gt;
&lt;br /&gt;
The resources stored within have their identifiers often identical to those in &#039;&#039;Resource fork&#039;&#039; format, but many new ones are also introduced. Some resources have multiple variations, as their structure changed between versions of [[LabVIEW]].&lt;br /&gt;
&lt;br /&gt;
==Known Resources==&lt;br /&gt;
&lt;br /&gt;
Below a few resources are listed. Note that the text names given for them are mostly informed guesses.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Resource ID&lt;br /&gt;
! Long Name&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|MUID&lt;br /&gt;
|Map Unique Identifier&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FPSE&lt;br /&gt;
|Front Panel Size Estimate&lt;br /&gt;
|Optional resource which can be used to optimize memory allocation when loading the VI file. Contains one integer value, which seem be amount of tags within Front Panel Heap divided by 10. See also: &#039;&#039;BDSE&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|FPTD&lt;br /&gt;
|Front Panel Type for DataLog&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BDSE&lt;br /&gt;
|Block Diagram Size Estimate&lt;br /&gt;
|Optional resource which can be used to optimize memory allocation when loading the VI file. Contains one integer value, which seem be amount of tags within Block Diagram Heap divided by 10. See also: &#039;&#039;FPSE&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|FLAG&lt;br /&gt;
|Integer flags&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CONP&lt;br /&gt;
|Connector Port Type Map&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPTM&lt;br /&gt;
|Connector Port Type Map&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPC2&lt;br /&gt;
|Connector Port Content Type v2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPCT&lt;br /&gt;
|Connector Port Content Type&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPD2&lt;br /&gt;
|Connector Port DI v2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPDI&lt;br /&gt;
|Connector Port DI&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DLGH&lt;br /&gt;
|Dialog HTML&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ERRH&lt;br /&gt;
|Error HTML&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HLPT&lt;br /&gt;
|Help Tag&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|MItm&lt;br /&gt;
|M. Item&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|NODH&lt;br /&gt;
|NOD HTML&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|NOEG&lt;br /&gt;
|NOEG String&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|STRG&lt;br /&gt;
|String description&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TITL&lt;br /&gt;
|Title of the file&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|STR&lt;br /&gt;
|Short String / Input definition?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPST&lt;br /&gt;
|C. P. Strings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DNm#&lt;br /&gt;
|D. Name Strings List&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HDb#&lt;br /&gt;
|Help Database item&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LST#&lt;br /&gt;
|Short Strings List&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|STR#&lt;br /&gt;
|Short Strings List&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FDFL&lt;br /&gt;
|FDFL Strings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIfp&lt;br /&gt;
|LinkObj Refs for Front Panel&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIbd&lt;br /&gt;
|LinkObj Refs for Block diagram&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIds&lt;br /&gt;
|LinkObj Refs for Data Space&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIvi&lt;br /&gt;
|LinkObj Refs for VI&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DFDS&lt;br /&gt;
|Default Fill of Data Space&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|GCDI&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BFAL&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CGRS&lt;br /&gt;
|Conglomerate Resource&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPMp&lt;br /&gt;
|Connection Points Map&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DLDR&lt;br /&gt;
|DL Data Record&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DLLP&lt;br /&gt;
|DL Local Path&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FTAB&lt;br /&gt;
|Font Table&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HIST&lt;br /&gt;
|Changes History&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HLPP&lt;br /&gt;
|Help Path&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LPTH&lt;br /&gt;
|L. Path&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HLPW&lt;br /&gt;
|Help Website URL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|SCSR&lt;br /&gt;
|Syntax Checker Digest&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DTHP&lt;br /&gt;
|Data Types for Heap&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DSTM&lt;br /&gt;
|Data Space Type Map&lt;br /&gt;
|Stores table of [[Type descriptor|Type descriptors]] which make up [[Data Space]] of the VI file. Used in LV 7.1 and older.&lt;br /&gt;
|-&lt;br /&gt;
|TM80&lt;br /&gt;
|Data Space Type Map LV8.0+&lt;br /&gt;
|Stores table of references to [[Type descriptor|Type descriptors]] which make up [[Data Space]] of the [[VI|VI file]]. The actual definitions of &#039;&#039;&#039;TD&#039;&#039;&#039;s are stored in &#039;&#039;VCTP&#039;&#039; block. Used in [[LabVIEW 8|LV 8.0]] and newer.&lt;br /&gt;
|-&lt;br /&gt;
|LVIN&lt;br /&gt;
|LabView Instrument&lt;br /&gt;
|General information about a saved [[VI|VI file]]; definitely used in [[LabVIEW 4.0|LV 4.0]] and older, was replaced by &#039;&#039;LVSR&#039;&#039; at some point.&lt;br /&gt;
|-&lt;br /&gt;
|LVSR&lt;br /&gt;
|LabView Save Record&lt;br /&gt;
|General information about a saved [[VI|VI file]]; replaced &#039;&#039;LVIN&#039;&#039; resource somewhere before [[LabVIEW 6i|LV 6.0]]. The size of this resource increases with [[LabVIEW Versions|LV version]], but old data is always kept at the same offset (new fields are only added at end).&lt;br /&gt;
|-&lt;br /&gt;
|vers&lt;br /&gt;
|Version block&lt;br /&gt;
|Stores version of LV used to create the RSRC file.&lt;br /&gt;
|-&lt;br /&gt;
|PNGI&lt;br /&gt;
|PNG Image&lt;br /&gt;
|Stores a bitmap picture in [https://en.wikipedia.org/wiki/Portable_Network_Graphics PNG format].&lt;br /&gt;
|-&lt;br /&gt;
|MNGI&lt;br /&gt;
|MNG Image&lt;br /&gt;
|While PNGs become quite popular, their animated counterpart, [https://en.wikipedia.org/wiki/Multiple-image_Network_Graphics MNG format], never really caught on.&lt;br /&gt;
|-&lt;br /&gt;
|ICON&lt;br /&gt;
|Icon 32x32 1bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ICN#&lt;br /&gt;
|Icon Large Double 32x64 1bpp&lt;br /&gt;
|Usually used to store one icon in two versions (ie. disabled and active).&lt;br /&gt;
|-&lt;br /&gt;
|ics#&lt;br /&gt;
|Icon Small 16x16 1bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CURS&lt;br /&gt;
|Cursor 16x34 1bpp&lt;br /&gt;
|Usually used to store one cursor in two versions (ie. disabled and active).&lt;br /&gt;
|-&lt;br /&gt;
|ics4&lt;br /&gt;
|Icon Small 16x16 4bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|icl4&lt;br /&gt;
|Icon Large 32x32 4bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ics8&lt;br /&gt;
|Icon Small 16x16 8bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|icl8&lt;br /&gt;
|Icon Large 32x32 8bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BDPW&lt;br /&gt;
|Block Diagram Password&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIBN&lt;br /&gt;
|Library Names&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LVzp&lt;br /&gt;
|LabView Zipped Program tree&lt;br /&gt;
|A whole application compressed to ZIP file.&lt;br /&gt;
|-&lt;br /&gt;
|PRT&lt;br /&gt;
|Print settings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BNID&lt;br /&gt;
|B. N. Identifier&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CNST&lt;br /&gt;
|Constant Node UID set&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LPIN&lt;br /&gt;
|Loop Invariant Node UID set&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|NUID&lt;br /&gt;
|N. U. Identifier&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|SUID&lt;br /&gt;
|S. U. Identifier&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|VPDP&lt;br /&gt;
|VI Primitive Dependency Flags&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BDHP&lt;br /&gt;
|Block Diagram Heap&lt;br /&gt;
|First version of [[Heap storage format]], used to store components placed on Block Diagram.&lt;br /&gt;
|-&lt;br /&gt;
|FPHP&lt;br /&gt;
|Front Panel Heap&lt;br /&gt;
|First version of [[Heap storage format]], used to store components placed on Front Panel.&lt;br /&gt;
|-&lt;br /&gt;
|BDHb&lt;br /&gt;
|Block Diagram Heap ver b&lt;br /&gt;
|Second version of [[Heap storage format]], used to store components placed on Block Diagram.&lt;br /&gt;
|-&lt;br /&gt;
|FPHb&lt;br /&gt;
|Front Panel Heap ver b&lt;br /&gt;
|Second version of [[Heap storage format]], used to store components placed on Front Panel.&lt;br /&gt;
|-&lt;br /&gt;
|BDHc&lt;br /&gt;
|Block Diagram Heap ver c&lt;br /&gt;
|Third version of [[Heap storage format]], used to store components placed on Block Diagram.&lt;br /&gt;
|-&lt;br /&gt;
|FPHc&lt;br /&gt;
|Front Panel Heap ver c&lt;br /&gt;
|Third version of [[Heap storage format]], used to store components placed on Front Panel.&lt;br /&gt;
|-&lt;br /&gt;
|BDHT&lt;br /&gt;
|Block Diagram Heap Text&lt;br /&gt;
|Used when [[Heap storage format]] is set to Verbose Tagged Text.&lt;br /&gt;
|-&lt;br /&gt;
|FPHT&lt;br /&gt;
|Front Panel Heap Text&lt;br /&gt;
|Used when [[Heap storage format]] is set to Verbose Tagged Text.&lt;br /&gt;
|-&lt;br /&gt;
|BDHX&lt;br /&gt;
|Block Diagram Heap XML&lt;br /&gt;
|Used when [[Heap storage format]] is set to XML.&lt;br /&gt;
|-&lt;br /&gt;
|FPHX&lt;br /&gt;
|Front Panel Heap XML&lt;br /&gt;
|Used when [[Heap storage format]] is set to XML.&lt;br /&gt;
|-&lt;br /&gt;
|RTSG&lt;br /&gt;
|Runtime Signature Guid&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|GCPR&lt;br /&gt;
|Generated Code Profiler settings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|UCRF&lt;br /&gt;
|Uncompressed Resource File&lt;br /&gt;
|Used when files are added to &#039;&#039;RSRC&#039;&#039;, ie. within &#039;&#039;*.llb&#039;&#039; files.&lt;br /&gt;
|-&lt;br /&gt;
|CPRF&lt;br /&gt;
|&#039;Comp&#039; Compressed Resource File&lt;br /&gt;
|Used when files are added to &#039;&#039;RSRC&#039;&#039;; very basic mask based compression.&lt;br /&gt;
|-&lt;br /&gt;
|ZCRF&lt;br /&gt;
|ZLib Compressed Resource File&lt;br /&gt;
|Used when files are added to &#039;&#039;RSRC&#039;&#039;; uses compression algorithm from popular Z-Lib library.&lt;br /&gt;
|-&lt;br /&gt;
|DLG3&lt;br /&gt;
|Dialog Resource File&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|VCTP&lt;br /&gt;
|VI Consolidated Data Types&lt;br /&gt;
|Introduced in LV 8.0, stores all [[Type descriptor|Type descriptors]] used within the file. Consists of a Zlib-compressed data block preceded by four bytes containing the length of the compressed data in big-endian.&lt;br /&gt;
|-&lt;br /&gt;
|VICD&lt;br /&gt;
|Virtual Instrument Compiled Data / VI Code&lt;br /&gt;
|Contains the machine code generated by LLVM compiler.&lt;br /&gt;
|-&lt;br /&gt;
|VITS&lt;br /&gt;
|Virtual Instrument Tag Strings&lt;br /&gt;
|Contains a VI&#039;s persistent tags. Tags are additional data which is attached to a VI and manipulated using [[VI Server#Private|private methods]] such as [[VI class/Tag.Set Tag|VI class/Tag.Set Tag]] on the VI object. Certain tags can affect LabVIEW&#039;s functionality; for example, the built-in matrix typedefs&#039; &amp;quot;operator overloading&amp;quot; effect is caused by a tag named &amp;quot;NI.LV.All.OperatorInfo1&amp;quot; in the .ctl files.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:LabVIEW file extensions|other files]]&lt;br /&gt;
[[Category:LabVIEW internals]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Resource_Container&amp;diff=31542</id>
		<title>Resource Container</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Resource_Container&amp;diff=31542"/>
		<updated>2022-01-28T01:33:03Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: /* Known Resources */ Added more VITS details&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Resource Container&#039;&#039;&#039; file format is a most often used file format within LabVIEW ecosystem. It is a proprietary binary format defined by [[National Instruments]] and used in both [[LabVIEW]] and [https://en.wikipedia.org/wiki/LabWindows/CVI LabWindows/CVI]. The format is strongly inspired by [https://en.wikipedia.org/wiki/Resource_fork Mac OS Resource Fork format], as LabVIEW was originally created for that platform, and ported to other OSes later, at [[LabVIEW 2.0|version 2.5]].&lt;br /&gt;
&lt;br /&gt;
The format is a container, storing a group of &#039;&#039;&#039;Resources&#039;&#039;&#039;. Resources have &#039;&#039;&#039;4-character identifier&#039;&#039;&#039; assigned, and the 4-character identifier for the whole container is &#039;&#039;RSRC&#039;&#039;. Most files used by LabVIEW have that &#039;&#039;RSRC&#039;&#039; format, only the specific &#039;&#039;&#039;Resources&#039;&#039;&#039; stored inside are different. The files with that header include [[VI File Extension|&#039;&#039;*.vi&#039;&#039;]], [[CTL File Extension|&#039;&#039;*.ctl&#039;&#039;]], [[MNU File Extension|&#039;&#039;*.mnu&#039;&#039;]], [[LLB File Extension|&#039;&#039;*.llb&#039;&#039;]], [[DLOG File Extension|&#039;&#039;*.dlog&#039;&#039;]], [[CTT File Extension|&#039;&#039;*.ctt&#039;&#039;]], [[VIT File Extension|&#039;&#039;*.vit&#039;&#039;]], [[UIR File Extension|&#039;&#039;*.uir&#039;&#039;]], and many  created with, or internally used by, LabVIEW.&lt;br /&gt;
&lt;br /&gt;
The resources stored within have their identifiers often identical to those in &#039;&#039;Resource fork&#039;&#039; format, but many new ones are also introduced. Some resources have multiple variations, as their structure changed between versions of [[LabVIEW]].&lt;br /&gt;
&lt;br /&gt;
==Known Resources==&lt;br /&gt;
&lt;br /&gt;
Below a few resources are listed. Note that the text names given for them are mostly informed guesses.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Resource ID&lt;br /&gt;
! Long Name&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|MUID&lt;br /&gt;
|Map Unique Identifier&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FPSE&lt;br /&gt;
|Front Panel Size Estimate&lt;br /&gt;
|Optional resource which can be used to optimize memory allocation when loading the VI file. Contains one integer value, which seem be amount of tags within Front Panel Heap divided by 10. See also: &#039;&#039;BDSE&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|FPTD&lt;br /&gt;
|Front Panel Type for DataLog&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BDSE&lt;br /&gt;
|Block Diagram Size Estimate&lt;br /&gt;
|Optional resource which can be used to optimize memory allocation when loading the VI file. Contains one integer value, which seem be amount of tags within Block Diagram Heap divided by 10. See also: &#039;&#039;FPSE&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|FLAG&lt;br /&gt;
|Integer flags&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CONP&lt;br /&gt;
|Connector Port Type Map&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPTM&lt;br /&gt;
|Connector Port Type Map&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPC2&lt;br /&gt;
|Connector Port Content Type v2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPCT&lt;br /&gt;
|Connector Port Content Type&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPD2&lt;br /&gt;
|Connector Port DI v2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPDI&lt;br /&gt;
|Connector Port DI&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DLGH&lt;br /&gt;
|Dialog HTML&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ERRH&lt;br /&gt;
|Error HTML&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HLPT&lt;br /&gt;
|Help Tag&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|MItm&lt;br /&gt;
|M. Item&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|NODH&lt;br /&gt;
|NOD HTML&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|NOEG&lt;br /&gt;
|NOEG String&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|STRG&lt;br /&gt;
|String description&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TITL&lt;br /&gt;
|Title of the file&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|STR&lt;br /&gt;
|Short String / Input definition?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPST&lt;br /&gt;
|C. P. Strings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DNm#&lt;br /&gt;
|D. Name Strings List&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HDb#&lt;br /&gt;
|Help Database item&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LST#&lt;br /&gt;
|Short Strings List&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|STR#&lt;br /&gt;
|Short Strings List&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FDFL&lt;br /&gt;
|FDFL Strings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIfp&lt;br /&gt;
|LinkObj Refs for Front Panel&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIbd&lt;br /&gt;
|LinkObj Refs for Block diagram&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIds&lt;br /&gt;
|LinkObj Refs for Data Space&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIvi&lt;br /&gt;
|LinkObj Refs for VI&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DFDS&lt;br /&gt;
|Default Fill of Data Space&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|GCDI&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BFAL&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CGRS&lt;br /&gt;
|Conglomerate Resource&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPMp&lt;br /&gt;
|Connection Points Map&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DLDR&lt;br /&gt;
|DL Data Record&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DLLP&lt;br /&gt;
|DL Local Path&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FTAB&lt;br /&gt;
|Font Table&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HIST&lt;br /&gt;
|Changes History&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HLPP&lt;br /&gt;
|Help Path&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LPTH&lt;br /&gt;
|L. Path&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HLPW&lt;br /&gt;
|Help Website URL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|SCSR&lt;br /&gt;
|Syntax Checker Digest&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DTHP&lt;br /&gt;
|Data Types for Heap&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DSTM&lt;br /&gt;
|Data Space Type Map&lt;br /&gt;
|Stores table of [[Type descriptor|Type descriptors]] which make up [[Data Space]] of the VI file. Used in LV 7.1 and older.&lt;br /&gt;
|-&lt;br /&gt;
|TM80&lt;br /&gt;
|Data Space Type Map LV8.0+&lt;br /&gt;
|Stores table of references to [[Type descriptor|Type descriptors]] which make up [[Data Space]] of the [[VI|VI file]]. The actual definitions of &#039;&#039;&#039;TD&#039;&#039;&#039;s are stored in &#039;&#039;VCTP&#039;&#039; block. Used in [[LabVIEW 8|LV 8.0]] and newer.&lt;br /&gt;
|-&lt;br /&gt;
|LVIN&lt;br /&gt;
|LabView Instrument&lt;br /&gt;
|General information about a saved [[VI|VI file]]; definitely used in [[LabVIEW 4.0|LV 4.0]] and older, was replaced by &#039;&#039;LVSR&#039;&#039; at some point.&lt;br /&gt;
|-&lt;br /&gt;
|LVSR&lt;br /&gt;
|LabView Save Record&lt;br /&gt;
|General information about a saved [[VI|VI file]]; replaced &#039;&#039;LVIN&#039;&#039; resource somewhere before [[LabVIEW 6i|LV 6.0]]. The size of this resource increases with [[LabVIEW Versions|LV version]], but old data is always kept at the same offset (new fields are only added at end).&lt;br /&gt;
|-&lt;br /&gt;
|vers&lt;br /&gt;
|Version block&lt;br /&gt;
|Stores version of LV used to create the RSRC file.&lt;br /&gt;
|-&lt;br /&gt;
|PNGI&lt;br /&gt;
|PNG Image&lt;br /&gt;
|Stores a bitmap picture in [https://en.wikipedia.org/wiki/Portable_Network_Graphics PNG format].&lt;br /&gt;
|-&lt;br /&gt;
|MNGI&lt;br /&gt;
|MNG Image&lt;br /&gt;
|While PNGs become quite popular, their animated counterpart, [https://en.wikipedia.org/wiki/Multiple-image_Network_Graphics MNG format], never really caught on.&lt;br /&gt;
|-&lt;br /&gt;
|ICON&lt;br /&gt;
|Icon 32x32 1bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ICN#&lt;br /&gt;
|Icon Large Double 32x64 1bpp&lt;br /&gt;
|Usually used to store one icon in two versions (ie. disabled and active).&lt;br /&gt;
|-&lt;br /&gt;
|ics#&lt;br /&gt;
|Icon Small 16x16 1bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CURS&lt;br /&gt;
|Cursor 16x34 1bpp&lt;br /&gt;
|Usually used to store one cursor in two versions (ie. disabled and active).&lt;br /&gt;
|-&lt;br /&gt;
|ics4&lt;br /&gt;
|Icon Small 16x16 4bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|icl4&lt;br /&gt;
|Icon Large 32x32 4bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ics8&lt;br /&gt;
|Icon Small 16x16 8bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|icl8&lt;br /&gt;
|Icon Large 32x32 8bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BDPW&lt;br /&gt;
|Block Diagram Password&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIBN&lt;br /&gt;
|Library Names&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LVzp&lt;br /&gt;
|LabView Zipped Program tree&lt;br /&gt;
|A whole application compressed to ZIP file.&lt;br /&gt;
|-&lt;br /&gt;
|PRT&lt;br /&gt;
|Print settings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BNID&lt;br /&gt;
|B. N. Identifier&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CNST&lt;br /&gt;
|Constant Node UID set&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LPIN&lt;br /&gt;
|Loop Invariant Node UID set&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|NUID&lt;br /&gt;
|N. U. Identifier&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|SUID&lt;br /&gt;
|S. U. Identifier&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|VPDP&lt;br /&gt;
|VI Primitive Dependency Flags&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BDHP&lt;br /&gt;
|Block Diagram Heap&lt;br /&gt;
|First version of [[Heap storage format]], used to store components placed on Block Diagram.&lt;br /&gt;
|-&lt;br /&gt;
|FPHP&lt;br /&gt;
|Front Panel Heap&lt;br /&gt;
|First version of [[Heap storage format]], used to store components placed on Front Panel.&lt;br /&gt;
|-&lt;br /&gt;
|BDHb&lt;br /&gt;
|Block Diagram Heap ver b&lt;br /&gt;
|Second version of [[Heap storage format]], used to store components placed on Block Diagram.&lt;br /&gt;
|-&lt;br /&gt;
|FPHb&lt;br /&gt;
|Front Panel Heap ver b&lt;br /&gt;
|Second version of [[Heap storage format]], used to store components placed on Front Panel.&lt;br /&gt;
|-&lt;br /&gt;
|BDHc&lt;br /&gt;
|Block Diagram Heap ver c&lt;br /&gt;
|Third version of [[Heap storage format]], used to store components placed on Block Diagram.&lt;br /&gt;
|-&lt;br /&gt;
|FPHc&lt;br /&gt;
|Front Panel Heap ver c&lt;br /&gt;
|Third version of [[Heap storage format]], used to store components placed on Front Panel.&lt;br /&gt;
|-&lt;br /&gt;
|BDHT&lt;br /&gt;
|Block Diagram Heap Text&lt;br /&gt;
|Used when [[Heap storage format]] is set to Verbose Tagged Text.&lt;br /&gt;
|-&lt;br /&gt;
|FPHT&lt;br /&gt;
|Front Panel Heap Text&lt;br /&gt;
|Used when [[Heap storage format]] is set to Verbose Tagged Text.&lt;br /&gt;
|-&lt;br /&gt;
|BDHX&lt;br /&gt;
|Block Diagram Heap XML&lt;br /&gt;
|Used when [[Heap storage format]] is set to XML.&lt;br /&gt;
|-&lt;br /&gt;
|FPHX&lt;br /&gt;
|Front Panel Heap XML&lt;br /&gt;
|Used when [[Heap storage format]] is set to XML.&lt;br /&gt;
|-&lt;br /&gt;
|RTSG&lt;br /&gt;
|Runtime Signature Guid&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|GCPR&lt;br /&gt;
|Generated Code Profiler settings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|UCRF&lt;br /&gt;
|Uncompressed Resource File&lt;br /&gt;
|Used when files are added to &#039;&#039;RSRC&#039;&#039;, ie. within &#039;&#039;*.llb&#039;&#039; files.&lt;br /&gt;
|-&lt;br /&gt;
|CPRF&lt;br /&gt;
|&#039;Comp&#039; Compressed Resource File&lt;br /&gt;
|Used when files are added to &#039;&#039;RSRC&#039;&#039;; very basic mask based compression.&lt;br /&gt;
|-&lt;br /&gt;
|ZCRF&lt;br /&gt;
|ZLib Compressed Resource File&lt;br /&gt;
|Used when files are added to &#039;&#039;RSRC&#039;&#039;; uses compression algorithm from popular Z-Lib library.&lt;br /&gt;
|-&lt;br /&gt;
|DLG3&lt;br /&gt;
|Dialog Resource File&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|VCTP&lt;br /&gt;
|VI Consolidated Data Types&lt;br /&gt;
|Introduced in LV 8.0, stores all [[Type descriptor|Type descriptors]] used within the file.&lt;br /&gt;
|-&lt;br /&gt;
|VICD&lt;br /&gt;
|Virtual Instrument Compiled Data / VI Code&lt;br /&gt;
|Contains the machine code generated by LLVM compiler.&lt;br /&gt;
|-&lt;br /&gt;
|VITS&lt;br /&gt;
|Virtual Instrument Tag Strings&lt;br /&gt;
|Contains a VI&#039;s persistent tags. Tags are additional data which is attached to a VI and manipulated using [[VI Server#Private|private methods]] such as [[VI class/Tag.Set Tag|VI class/Tag.Set Tag]] on the VI object. Certain tags can affect LabVIEW&#039;s functionality; for example, the built-in matrix typedefs&#039; &amp;quot;operator overloading&amp;quot; effect is caused by a tag named &amp;quot;NI.LV.All.OperatorInfo1&amp;quot; in the .ctl files.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:LabVIEW file extensions|other files]]&lt;br /&gt;
[[Category:LabVIEW internals]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Heap_Peek&amp;diff=31541</id>
		<title>Heap Peek</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Heap_Peek&amp;diff=31541"/>
		<updated>2022-01-27T21:01:44Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: /* Using Heap Peek */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Heap Peek is a debug feature available at least since [[LabVIEW 3.0]]. It allows to view internal data structures created for all loaded VI files, including Front Panel Heap and Block Diagram Heap.&lt;br /&gt;
The feature is intended for use by LV R&amp;amp;D, though users may in some cases be instructed by LV Support to check something there.&lt;br /&gt;
&lt;br /&gt;
== Enabling Heap Peek ==&lt;br /&gt;
&lt;br /&gt;
The Heap Peek keyboard shortcut is by default disabled in fresh installations of [[LabVIEW]]. To enable it:&lt;br /&gt;
* Close LabVIEW&lt;br /&gt;
* Put the key &amp;quot;LVdebugKeys=True&amp;quot; in your [[LabVIEW configuration file]]&lt;br /&gt;
&lt;br /&gt;
Then, to trigger the Heap Peek window:&lt;br /&gt;
* Open your VI&lt;br /&gt;
* Press CTRL+SHIFT+D+H. On Mac, use the command key instead of CTRL. This will open the Heap Peek window.&lt;br /&gt;
&lt;br /&gt;
== Using Heap Peek ==&lt;br /&gt;
&lt;br /&gt;
The window is divided into 5 sections:&lt;br /&gt;
* Loaded Container Files are in top-left,&lt;br /&gt;
* Heap View is top-right,&lt;br /&gt;
* Structure selection for info pane in middle-left,&lt;br /&gt;
* Toolbar at the middle,&lt;br /&gt;
* Information pane is at base.&lt;br /&gt;
&lt;br /&gt;
The first section, as for usage flow, is top-left one. Start there, by left clicking to select the specific file and specific heap you want to look at.&lt;br /&gt;
When the heap is selected, you can display many details on it by clicking rows of either top-right or middle section. These details will show at base, in Information pane.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Heap Peek only displays information and does not have any ability to change the objects. It does, however, display the locations in memory where the information is stored, which makes it easy to use external memory editing software for this purpose.&lt;br /&gt;
&lt;br /&gt;
== Loaded Container Files list ==&lt;br /&gt;
&lt;br /&gt;
The list is divided into Contexts. In each of these, you can see memory location of the item (within LabVIEW process memory), and entries marked &#039;&#039;BDHP&#039;&#039; or &#039;&#039;FPHP&#039;&#039;.&lt;br /&gt;
* &#039;&#039;BDHP&#039;&#039; is Block Diagram Heap&lt;br /&gt;
* &#039;&#039;FPHP&#039;&#039; is Front Panel Heap&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; There are [[VI|VIs]] in LV that are not real VIs (for example, a pseudo VI that is created to represent a Call By Reference to another application instance on another machine), and attempting to do Find to jump to their components can cause problems because those VIs never expect to actually draw themselves.&lt;br /&gt;
&lt;br /&gt;
== Heap View ==&lt;br /&gt;
&lt;br /&gt;
Heap, for LV, is really a [[Front Panel]] or [[Block Diagram]]. Despite the name, they don&#039;t really have a heap-like structure. Both FP and BD are stored in form of a tree, strongly inspired by [https://en.wikipedia.org/wiki/XML XML format]. The main difference is - the LV Heap format is binary, not text-based.&lt;br /&gt;
&lt;br /&gt;
In &#039;&#039;Heap View&#039;&#039;, Heaps are displayed in a flattened form, not in its full tree-like glory. Part of the entries show properties of the whole pane, and the rest is [[Control|controls]], [[Indicator|indicators]] and other elements added to the pane.&lt;br /&gt;
&lt;br /&gt;
The view for &#039;&#039;FPHP&#039;&#039; reveals that controls and indicators are composed of several [[Control Parts|parts]] - ie. Numeric controls consist of: Label, Frame, Up/Down buttons, Edit field, Radix and Annex. Each [[Control_Parts#List_of_parts|part has partID]], which is used by LV to identify type of that part.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; To learn more about LV Heaps, consider exporting a few to XML, and looking at them there. The flat list visible in &#039;&#039;Heap View&#039;&#039; will be very helpful when you understand them, but it&#039;s not the best way to acquire that understanding.&lt;br /&gt;
&lt;br /&gt;
== Structure selection ==&lt;br /&gt;
&lt;br /&gt;
Here you can select one of the structures within VI files other than &#039;&#039;FPHP&#039;&#039;/&#039;&#039;BDHP&#039;&#039;. These are per-file, not per-heap - so you won&#039;t find any difference in them if you select different part of the same file in Loaded Container Files list.&lt;br /&gt;
&lt;br /&gt;
The selectable options are:&lt;br /&gt;
* &#039;&#039;VI Fields&#039;&#039; - lists values of many common settings and flags of the VI file&lt;br /&gt;
* &#039;&#039;DS Fields&#039;&#039; - lists Data Space properties, including Table of QEs and Table of TMEs&lt;br /&gt;
* &#039;&#039;OH Fields&#039;&#039;&lt;br /&gt;
* &#039;&#039;Stats&#039;&#039; - statistics for objects used within Heaps&lt;br /&gt;
* &#039;&#039;Link Info&#039;&#039; - content of all LinkObj lists&lt;br /&gt;
* &#039;&#039;Names In Memory&#039;&#039;&lt;br /&gt;
* &#039;&#039;IL Code Stream&#039;&#039; - Prints Intermediate Language Code used during code compilation process&lt;br /&gt;
* &#039;&#039;Code Disassembly&#039;&#039; - Prints assembly generated by the compiler for given VI file&lt;br /&gt;
* &#039;&#039;Transform Metrics&#039;&#039;&lt;br /&gt;
* &#039;&#039;UDClass Info&#039;&#039;&lt;br /&gt;
* &#039;&#039;Full OMUDClassPtr List&#039;&#039;&lt;br /&gt;
* &#039;&#039;Available Implementers&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== DS Fields ===&lt;br /&gt;
&lt;br /&gt;
[[Data Space]] in an important concept in LV internals. In short, &#039;&#039;Data Space&#039;&#039; contains filling for all type mapped [[data type]]s. Be sure to read more on [[Data Space]] to understand it better.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;DS Fields&#039;&#039; section contains some general information on [[Data Space]] of the file, and then displays whole mapping of the Data Space (&#039;&#039;DSTM&#039;&#039;). As of LV2014 it doesn&#039;t show values stored in data space, but it shows offsets within said Data Space, and Type Map Entries (&#039;&#039;&#039;TME&#039;&#039;&#039;s) with information about which data type is stored there, with all its properties. The &#039;&#039;DSTM&#039;&#039; data in this section is cut to only show part of Data Space which is used for different purposes than Heap - the complete Data Space is always larger.&lt;br /&gt;
&lt;br /&gt;
== Toolbar ==&lt;br /&gt;
&lt;br /&gt;
The toolbar consists of several fields.&lt;br /&gt;
* Next/prev buttons&lt;br /&gt;
* Currently selected item name text&lt;br /&gt;
* U button&lt;br /&gt;
* F button - Click on it to find the object selected in Heap View. LabVIEW will switch to the block diagram or front panel and select related object.&lt;br /&gt;
* UO button&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; A previous author said that few developers really know the capacities of heap peek. This is true... it&#039;s a debugging tool, and it gets hacked up to debug whatever anyone needs to debug.&lt;br /&gt;
&lt;br /&gt;
[[Category:LabVIEW internals]]&lt;br /&gt;
[[Category:Debugging]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=VI_Server&amp;diff=31540</id>
		<title>VI Server</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=VI_Server&amp;diff=31540"/>
		<updated>2022-01-22T19:06:25Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: /* Deprecated */ Add info on how to show deprecated properties/methods in the menu&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:VI Server.png|thumb|452x452px|VI Server - Open Reference, Property Node, Close Reference]]&lt;br /&gt;
&#039;&#039;&#039;VI Server&#039;&#039;&#039;, introduced in LabVIEW 5.0, is a set of functions that allows you to dynamically control front panel objects, VIs, and the LabVIEW environment. With VI Server, you can also programmatically load and run VIs and LabVIEW either on the same machine or across a network. The VI Server functions are located in the &#039;&#039;&#039;Functions » Application&#039;&#039;&#039; Control sub-palette. All VIs have properties that can be read or set and methods that can be invoked using these VI Server functions. VI Server replaces the VI Control VIs of LabVIEW 4.x.&lt;br /&gt;
&lt;br /&gt;
VI Server has an object-oriented architecture that is platform-independent, (see [[VI Server Class Hierarchy]]).  Each object that is a part of VI Server is a part of a class. The class that the object is a part of determines what properties and methods are available. Many of these classes have sub-classes. For instance, any boolean control is a member of the Boolean class, which is a member of the Control class. The Control class is a member of the GObject class, which is a member of the Generic class. Lower level classes, such as the Boolean class, have their own properties and methods, and inherit properties and methods from higher level classes, such as the Generic class.&lt;br /&gt;
&lt;br /&gt;
In order to create a VI Server session, one has to open an [[Application Reference]] to remote computers and a [[VI Reference]] [VI-Ref] on the desired computer.&lt;br /&gt;
With that VI-Ref one can perform actions with the VI like setting or retrieving control values, running it or setting and retrieving the VIs properties.&lt;br /&gt;
&lt;br /&gt;
== VI Server Levels ==&lt;br /&gt;
&lt;br /&gt;
=== Basic Development Environment ===&lt;br /&gt;
[[File:VI Server Basic.png|thumb|283x283px|Basic VI Server Calls]]&lt;br /&gt;
The Basic Development Environment holds all of the basic functions to modify properties and methods for:&lt;br /&gt;
* Controls and Indicators&lt;br /&gt;
* Panes and Panels&lt;br /&gt;
* VIs&lt;br /&gt;
* [[ProjectItem]] (Projects, Libraries, and Classes)&lt;br /&gt;
* Application&lt;br /&gt;
The standard color of Class Specifier Constant, Property Nodes, and Invoke Nodes is yellow when they do not contain any scripting, private, or deprecated Classes, Properties or Methods, respectively. As soon as one of the others appear in the Property Node or Invoke Node the color will change according to the following order of importance:&lt;br /&gt;
* Deprecated&lt;br /&gt;
* Private&lt;br /&gt;
* Scripting&lt;br /&gt;
* Basic&lt;br /&gt;
Meaning if one property in a Property Node is Deprecated and all others are one of the other types, the property will appear red for the deprecated property.&lt;br /&gt;
&lt;br /&gt;
=== VI Scripting ===&lt;br /&gt;
[[File:VI Server Scripting.png|thumb|294x294px|Scripting VI Server Calls]]&lt;br /&gt;
[[VI Scripting]] adds functionality to modify properties and methods for:&lt;br /&gt;
* Block Diagram&lt;br /&gt;
** Primitives&lt;br /&gt;
** Structures&lt;br /&gt;
** Terminals&lt;br /&gt;
&lt;br /&gt;
* Connector Pane&lt;br /&gt;
When scripting is enabled the Class Specifier Constant, Property Nodes, and Invoke Nodes turn light cyan when containing scripting Classes, Properties and Methods, respectively. If scripting functions are being used but scripting is then disabled, they will continue to work but will appear the standard yellow and will no longer be discoverable.&lt;br /&gt;
&lt;br /&gt;
=== Private ===&lt;br /&gt;
[[File:VI Server Private.png|thumb|388x388px|Private VI Server Calls]]&lt;br /&gt;
&#039;&#039;&#039;This adds more, lower level control and functionality. There is a reason they are private. They are not always fully vetted or documented. They also could change from one version of LabVIEW to the next and they might not be in the LabVIEW Run-Time Engine, (meaning they cannot be used in built executable). Use at your own risk.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When the private functions are enabled the Class Specifier Constant, Property Nodes, and Invoke Nodes turn brown when containing private Classes, Properties and Methods, respectively. If private functions are being used but then the functionality is disabled, they will continue to work but they will appear either the standard yellow, or if scripting is turned on they might appear light cyan, and they will no longer be discoverable.&lt;br /&gt;
&lt;br /&gt;
To expose the Private classes, methods, properties, and events edit your [[LabVIEW configuration file]] to include the &#039;&#039;SuperSecretPrivateSpecialStuff=True&#039;&#039; setting. You can search the LAVA forums for the tag Private method for additional events and use cases.&lt;br /&gt;
&lt;br /&gt;
=== Deprecated ===&lt;br /&gt;
[[File:VI Server Deprecated.png|thumb|413x413px|Deprecated VI Server Call and Its Replacement]]&lt;br /&gt;
From time-to-time, G is modified to give more features or to regroup functionality. In these cases the old version of properties and methods could be taken out of use, or deprecated. These features are never fully removed, to keep from breaking older programs, but they are no longer discoverable in Property Nodes or Invoke Nodes. This can be overridden by turning on &amp;quot;ObjectManager.ShowDeprecated&amp;quot; in the [[Ned options]], allowing deprecated properties and methods to be selected from the menu, but there is little to no reason to do so.&lt;br /&gt;
&lt;br /&gt;
== Articles ==&lt;br /&gt;
[https://forums.ni.com/t5/LabVIEW-APIs-Discussions/Exploring-the-Depths-of-the-VI-Server/td-p/3844848 Exploring the Depths of the VI Server] - by Quentin Alldredge, Q Software Innovations&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This presentation goes into the depths of the VI Server including Basic LabVIEW, VI Scripting, and even the Private stuff, showing many of the Properties, Methods, and Events I have found useful in the creation of LabVIEW IDE add-ons.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
[https://gitlab.com/QSI_Shared_Code/VIServerToolkit.git VI Server Toolkit] - shared code library for discovering the Classes, Properties, Methods, and Events in the VI Server.&lt;br /&gt;
&lt;br /&gt;
[[Category:Application Control]]&lt;br /&gt;
[[Category:VI Server]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Ned&amp;diff=31539</id>
		<title>Ned</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Ned&amp;diff=31539"/>
		<updated>2022-01-22T19:00:49Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: Redirected page to Ned options&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Ned options]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Project_Provider_Framework&amp;diff=31538</id>
		<title>Project Provider Framework</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Project_Provider_Framework&amp;diff=31538"/>
		<updated>2022-01-18T20:05:08Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: Update to reflect public release of PPF&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Project Provider Framework is an unsupported API used to extend LabVIEW in various ways, mostly relating to the project interface. While NI does not provide official support for Project Providers, nor guarantee their stability in future versions, they have provided some documentation as well as a community forum for the framework; this was originally only available to NI-approved developers, but has since been opened to the general public.&lt;br /&gt;
&lt;br /&gt;
A Project Provider is defined by an INI file located in the &amp;lt;code&amp;gt;resource/Framework/Providers/GProviders&amp;lt;/code&amp;gt; directory in the LabVIEW installation directory. This file contains paths to &amp;quot;interface VI&#039;s&amp;quot;, which determine the locations of other VI&#039;s that implement the plugin&#039;s functionality.&lt;br /&gt;
&lt;br /&gt;
==Signature==&lt;br /&gt;
For LabVIEW to load a project provider, its INI file must contain a valid &amp;quot;signature&amp;quot; consisting of an enciphered MD5 hash of certain other values in the INI file, generated using a signing tool provided by NI. This is an artifact from before the framework was officially made public, though the method of generating the signature had been reverse engineered and was publicly known prior to that point.&lt;br /&gt;
&lt;br /&gt;
===Algorithm===&lt;br /&gt;
What follows is an explanation of how the &amp;quot;signature&amp;quot; is determined. If you are using the official signing tool (or an unofficial one) you do not need to know this, but it might be useful for tool developers or anyone who is curious.&lt;br /&gt;
&lt;br /&gt;
First, take the &#039;&#039;values&#039;&#039; (not the keys) in the INI file in order, and concatenate them. Only include the values for keys in this list (rule of thumb: string values, not Boolean or numeric values, and don&#039;t include the Signature key of course):&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;InterfaceVersion&amp;quot;&lt;br /&gt;
* &amp;quot;LicenseRestrictions&amp;quot;&lt;br /&gt;
* &amp;quot;LicenseVersion&amp;quot;&lt;br /&gt;
* &amp;quot;LicenseName&amp;quot;&lt;br /&gt;
* &amp;quot;Alias&amp;quot;&lt;br /&gt;
* &amp;quot;SupportedType&amp;quot;&lt;br /&gt;
* &amp;quot;SupportedInterface&amp;quot;&lt;br /&gt;
* &amp;quot;CreateNewWizardHost&amp;quot;&lt;br /&gt;
* &amp;quot;BuildInterfaceVI&amp;quot;&lt;br /&gt;
* &amp;quot;DeployInterfaceVI&amp;quot;&lt;br /&gt;
* &amp;quot;SourceControlInterfaceVI&amp;quot;&lt;br /&gt;
* &amp;quot;CreateNewWizardInterfaceVI&amp;quot;&lt;br /&gt;
* &amp;quot;GlobalItemInterfaceVI&amp;quot;&lt;br /&gt;
* &amp;quot;ProviderInterfaceVI&amp;quot;&lt;br /&gt;
* &amp;quot;ItemInterfaceVI&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Do not include spaces or any other types of delimiters between values in the concatenated string. Take the MD5 hash of this string, and apply the following substitution cipher to each of the digits:&lt;br /&gt;
&lt;br /&gt;
 Change: 0123456789ABCDEF&lt;br /&gt;
     To: T3C5K7W9SBNRJLX2&lt;br /&gt;
&lt;br /&gt;
Finally, for each pair of two consecutive digits, switch them. For example, CRTTR3X7 would become RCTT3R7X. You now have your signature!&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [https://forums.ni.com/t5/LabVIEW-Project-Providers/bd-p/bymqyodmkc NI Project Provider discussion forum]&lt;br /&gt;
* [https://forums.ni.com/t5/LabVIEW-Project-Providers/Project-Providers-Documentation/td-p/3492573 Official documentation thread]&lt;br /&gt;
* [https://forums.ni.com/t5/LabVIEW-Project-Providers/Project-Provider-INI-File-Signer-Tool/m-p/3534658 Project Provider INI File Signer Tool]&lt;br /&gt;
* [http://lavag.org/topic/18545-i-have-taken-the-first-step-towards-unofficially-opening-up-the-project-provider-framework/ Unofficial LAVA post about reverse-engineered signature algorithm]&lt;br /&gt;
&lt;br /&gt;
[[Category:Frameworks]]&lt;br /&gt;
[[Category:IDE Add-ons]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=LabVIEW_configuration_file/Miscellaneous&amp;diff=31186</id>
		<title>LabVIEW configuration file/Miscellaneous</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=LabVIEW_configuration_file/Miscellaneous&amp;diff=31186"/>
		<updated>2021-08-23T04:26:35Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: Clarify bit about Xnode license&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of Miscellaneous LabVIEW ini File settings. {{TOCright}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = ActiveXMoreContainerOptions&lt;br /&gt;
| example = ActiveXMoreContainerOptions=FALSE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Adds &amp;quot;Persist State To Edit Mode&amp;quot; and &amp;quot;Destroy And Recreate When Run&amp;quot; to the Advanced submenu of an ActiveX container&amp;lt;ref name=&amp;quot;lava-18469&amp;quot;&amp;gt;[https://lavag.org/topic/18469-i-found-some-more-hidden-ini-keys/ I found some more hidden INI keys (LAVA)]&amp;lt;/ref&amp;gt;&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
| OS1 = w&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = BldApp.RemovePolyVIsandTypedefs&lt;br /&gt;
| example =BldApp.RemovePolyVIsandTypedefs=FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Setting this to &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; stops the LabVIEW Application Builder from aggressively removing polymorphic VIs and typedefs that it thinks are not required&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =TRUE&lt;br /&gt;
| LV1 = 7&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =By default, the LabVIEW 7.x Application Builder does not include type definitions and unused instances of polymorphic VIs into executable in order to decrease size of application. This setting can be changed in the LabVIEW 7.1 applciation Builder in the Application Settings page.&lt;br /&gt;
If a VI in your build calls an external VI that uses a type definition in order to pass parameters, and the AppBuilder is unaware of this external VI, it will end in tears.&lt;br /&gt;
Also there is one other issue which makes this setting very important. In LabVIEW 7.x, by disconnecting typedefs from controls they did loose their default data and return to LabVIEWs default default data. This could be a major problem if you used strict typedefed clusters on front panels to provide certain default data when unwired and those default data did not match LabVIEWs default default data. This has been mostly fixed in newer LabVIEW versions from 8.0 on.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = coerceFromVariant&lt;br /&gt;
| example =coerceFromVariant=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Force variants to automatically coerce to any data type that they are connected to&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 7&lt;br /&gt;
| LV2 = 8&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =Tread carefully, as using this function removes coercion notification, and does not use error handling&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = cleanupVisa&lt;br /&gt;
| example =cleanupVisa=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Automatically close VISA sessions - do not require the use of the &#039;&#039;VISA Close&#039;&#039; VI&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 5&lt;br /&gt;
| LV2 = 6&lt;br /&gt;
| LV3 = 7&lt;br /&gt;
| LV4 = 8&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = defaultConPane&lt;br /&gt;
| example = defaultConPane=4833&lt;br /&gt;
| datatype = I32&lt;br /&gt;
| description = Sets the default [[Connector pane]] layout for new VIs&lt;br /&gt;
| permitted_values =&lt;br /&gt;
| default = (4815)&lt;br /&gt;
| LV1 = 8.x&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 = w&lt;br /&gt;
| OS2 = m&lt;br /&gt;
| OS3 = l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes = Source: NI Knowledge Base&lt;br /&gt;
( http://digital.ni.com/public.nsf/allkb/279F064F0688C114862570900057678C )&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = dropThroughClicks&lt;br /&gt;
| example =dropThroughClicks=FALSE&lt;br /&gt;
| datatype = i&lt;br /&gt;
| description =Allow drop-through clicks&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =TRUE&lt;br /&gt;
| LV1 = 4&lt;br /&gt;
| LV2 = 5&lt;br /&gt;
| LV3 = 6&lt;br /&gt;
| LV4 = 7&lt;br /&gt;
| LV5 = 8&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = EnableStrictTypedefConstantConfiguration&lt;br /&gt;
| example = EnableStrictTypedefConstantConfiguration=FALSE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Adds a new context menu item to constants based on strict typedefs called Act as Strict Typedef Constant. &amp;lt;ref name=&amp;quot;lava-18469&amp;quot; /&amp;gt;&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = ExternalNodesEnabled&lt;br /&gt;
| example =ExternalNodesEnabled=FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Enables use of [[External Nodes]]&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =6.x?, 7.x: TRUE  8.x: FALSE&lt;br /&gt;
| LV1 = 6.x?&lt;br /&gt;
| LV2 = 7&lt;br /&gt;
| LV3 = 8&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = ExternalNodeDebugging&lt;br /&gt;
| example =ExternalNodeDebugging=FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Shows External Nodes for what they are: sequence diagrams&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 7&lt;br /&gt;
| LV2 = 8&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = GenericsAreGo&lt;br /&gt;
| example = GenericsAreGo=TRUE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Adds a context-menu item to controls and indicators labeled &amp;quot;Generic&amp;quot;. This activates an abandoned feature in LabVIEW enabling the creation of &amp;quot;[[Generic VIs]]&amp;quot;. If a control marked &amp;quot;generic&amp;quot; is connected to a VI&#039;s connector pane, it will automatically change to whatever type is wired to it; an indicator marked &amp;quot;generic&amp;quot; shows similar behavior with its block diagram terminal. If this just sounds like [[Malleable VIs]] with extra steps, that&#039;s because this is an unfinished prototype of what eventually became that. &#039;&#039;&#039;Using them is a BAD IDEA, unless you just want to experiment with it as a curiosity. NI staff have warned against using this in any kind of production code, as it is very buggy, abandoned for a reason, and can corrupt VI&#039;s. Use Malleable VI&#039;s instead; they do the same thing much better without using buggy unfinished features.&#039;&#039;&#039;&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
| LV1 = 2014&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 = w&lt;br /&gt;
| OS2 = m&lt;br /&gt;
| OS3 = l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes = None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = hotMenus&lt;br /&gt;
| example =hotMenus=FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Use hot menus&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =TRUE&lt;br /&gt;
| LV1 = 4&lt;br /&gt;
| LV2 = 5&lt;br /&gt;
| LV3 = 6&lt;br /&gt;
| LV4 = 7&lt;br /&gt;
| LV5 = 8&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = MaxHelpDescLength&lt;br /&gt;
| example =MaxHelpDescLength=8000&lt;br /&gt;
| datatype =i&lt;br /&gt;
| description =Maximum number of characters that will be displayed before truncation in the Context Help&lt;br /&gt;
| default =8000&lt;br /&gt;
| LV1 = 8&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =If set to a non-positive number, then there will be no max. If set to 50 or less, then 50 will be the max&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = MRUFolders&lt;br /&gt;
| example = MRUFolders=TRUE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = MRUFolders:Most recently used folders. Every time you select a file in a file dialog in LabVIEW, that location (folder) becomes the new top item in the location area (left side of the dialog) of the Windows file dialog.&lt;br /&gt;
| permitted_values = TRUE, FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
| LV1 = 8.2&lt;br /&gt;
| OS1 = w&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = openInRun&lt;br /&gt;
| example =openInRun=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =When opening VIs in the development environment, open them in &#039;&#039;run mode&#039;&#039;&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 3&lt;br /&gt;
| LV2 = 4&lt;br /&gt;
| LV3 = 5&lt;br /&gt;
| LV4 = 6&lt;br /&gt;
| LV5 = 7&lt;br /&gt;
| LV6 = 8&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = readOnlyLock&lt;br /&gt;
| example =readOnlyLock=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Treat read-only VIs as locked&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 5&lt;br /&gt;
| LV2 = 6&lt;br /&gt;
| LV3 = 7&lt;br /&gt;
| LV4 = 8&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =It is important to set this to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; when using source code control outside of the LabVIEW environment, so LabVIEW will not allow a VI that is not checked out to the user to be edited&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = showBDConstName&lt;br /&gt;
| example =showBDConstName=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Show auto-constant labels&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 4&lt;br /&gt;
| LV2 = 5&lt;br /&gt;
| LV3 = 6&lt;br /&gt;
| LV4 = 7&lt;br /&gt;
| LV5 = 8&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = ShowHiddenLibraryItems&lt;br /&gt;
| example = ShowHiddenLibraryItems=FALSE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Shows hidden library items (for example when editing a statechart library). &amp;lt;ref name=&amp;quot;lava-18469&amp;quot; /&amp;gt;&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = showNoNavDialog&lt;br /&gt;
| example =showNoNavDialog=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Prevents the &amp;quot;Getting Started Window&amp;quot; dialog from appearing&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 8&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes = Source: NI Knowledge Base ( http://digital.ni.com/public.nsf/allkb/841B934909D863C886256F62006AC243?OpenDocument )&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = showRunAtAnyLoopMenuItem&lt;br /&gt;
| example = showRunAtAnyLoopMenuItem=FALSE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Adds a new menu item to Property and Invoke nodes labeled &amp;quot;Run At Any Loop&amp;quot;. When selected, the node turns brown as if a private property or method was selected, even if none are. &amp;lt;ref name=&amp;quot;lava-18469&amp;quot; /&amp;gt;&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = ShowTipStrings&lt;br /&gt;
| example =ShowTipStrings=FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Display Tip Strips during execution&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =TRUE&lt;br /&gt;
| LV1 = 4&lt;br /&gt;
| LV2 = 5&lt;br /&gt;
| LV3 = 6&lt;br /&gt;
| LV4 = 7&lt;br /&gt;
| LV5 = 8&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =u&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = SimShowCompanionDiag&lt;br /&gt;
| example = SimShowCompanionDiag=FALSE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Adds a context menu option to the Simulation structure called &amp;quot;Show Companion Diagram&amp;quot;, which toggles showing what looks like a &amp;quot;behind-the-scenes&amp;quot; block diagram for the simulation. &amp;lt;ref name=&amp;quot;lava-18469&amp;quot; /&amp;gt;&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = skipNavigatorDialog&lt;br /&gt;
| example =skipNavigatorDialog=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Skip the navigation dialog on development environment launch&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 5&lt;br /&gt;
| LV2 = 6&lt;br /&gt;
| LV3 = 7&lt;br /&gt;
| LV4 = 8&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = SuperSecretPrivateSpecialStuff&lt;br /&gt;
| example =SuperSecretPrivateSpecialStuff=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Exposes private properties, method and events in the IDE&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 8&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =Not supported by NI, this is not a scripting method.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = suppressFileDlgForMissingVIs&lt;br /&gt;
| example =suppressFileDlgForMissingVIs=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Suppresses the file dialog for when loading a VI that has missing SubVIs&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 5&lt;br /&gt;
| LV2 = 6&lt;br /&gt;
| LV3 = 7&lt;br /&gt;
| LV4 = 8&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = useNativeFileDialog&lt;br /&gt;
| example =useNativeFileDialog=FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Use the OS native file dialogs&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =TRUE&lt;br /&gt;
| LV1 = 4&lt;br /&gt;
| LV2 = 5&lt;br /&gt;
| LV3 = 6&lt;br /&gt;
| LV4 = 7&lt;br /&gt;
| LV5 = 8&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = useUnicode&lt;br /&gt;
| example = useUnicode=FALSE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Enables Unicode characters in LabVIEW. &amp;lt;ref name=&amp;quot;thelvlab&amp;quot;&amp;gt;[https://thelvlab.wixsite.com/thelabviewlab/single-post/2017/12/21/All-the-LabVIEWini-Treasures-You-Were-Looking-For All the LabVIEW.ini Treasures You Were Looking For] (The LabVIEW Lab)&amp;lt;/ref&amp;gt;&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
| OS1 = w&lt;br /&gt;
| OS2 = m&lt;br /&gt;
| OS3 = l&lt;br /&gt;
| notes = Unicode is not fully supported in LabVIEW. Use with caution!&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = userVIsAppearFirst&lt;br /&gt;
| example =userVIsAppearFirst=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Makes the user VIs appear first in the tool menu&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 6&lt;br /&gt;
| LV2 = 7&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =Unfortunately this option no longer works in LabVIEW versions 8+.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = viTitleInPalettes&lt;br /&gt;
| example = viTitleInPalettes=TRUE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Displays window titles instead of VI names in functions palettes. This key is set by the [[Controls/Functions Palettes options#Formatting|Use window titles in functions palette]] option in the [[Controls/Functions Palettes options|Controls/Functions Palettes]] category of the [[Options dialog]].&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = TRUE&lt;br /&gt;
| OS1 = w&lt;br /&gt;
| OS2 = m&lt;br /&gt;
| OS3 = l&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = XNodeDevelopment_LabVIEWInternalTag&lt;br /&gt;
| example =XNodeDevelopment_LabVIEWInternalTag=True&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Enables [[XNode|XNodes]] to be edited and created within LabVIEW.&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| OS1 =m&lt;br /&gt;
| OS2 =l&lt;br /&gt;
| notes =This configuration key does not work on Windows, as on that version it is enabled via an &amp;quot;XNodeDevelopment&amp;quot; license which is only available to NI employees; thus, there is no way to access this functionality on the Windows version without violating the license agreement. When enabled, regardless of OS, &amp;quot;XNode&amp;quot; will appear in the File-&amp;gt;New dialog.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = XNodeWizardMode&lt;br /&gt;
| example =XNodeWizardMode=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Allows contextual menus on [[XNodes]] to facilitate debugging&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 8&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = MaxGSWRecentProjects&lt;br /&gt;
| example =MaxGSWRecentProjects=10&lt;br /&gt;
| datatype =i&lt;br /&gt;
| description =Allows more projects to be added to the Getting Started Window&lt;br /&gt;
| permitted_values = 1 to 10&lt;br /&gt;
| default = 2&lt;br /&gt;
| LV1 = 2009&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = operateCursorRunningVIs&lt;br /&gt;
| example = operateCursorRunningVIs=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Changes the default cursor on running VIs to its behavior prior to LabVIEW 2012&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
| LV1 = 2012&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = useNewProjWiz&lt;br /&gt;
| example =  useNewProjWiz =FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Set to FALSE to make the Create Project menu items (in File and Project) open empty projects instead of launching the Create Project dialog.&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default = TRUE&lt;br /&gt;
| LV1 = 2012&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = QuickBold&lt;br /&gt;
| example = QuickBold=TRUE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = When editing text (either on the block diagram or the front panel) Ctrl-B allows you to toggle &#039;&#039;&#039;bold&#039;&#039;&#039; on or off. (When not editing text, Ctrl-B still performs it&#039;s normal function: remove broken wires.)&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
| LV1 = 2013&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| OS1 = w&lt;br /&gt;
| OS2 = m&lt;br /&gt;
| OS3 = l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = ShowConsoleForPythonNode&lt;br /&gt;
| example = ShowConsoleForPythonNode=TRUE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Shows the output from Python when a Python Node executes.&amp;lt;ref name=&amp;quot;ni-ShowConsoleForPythonNode&amp;quot;/&amp;gt;&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
| LV1 = 2018 and later&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| OS1 = w&lt;br /&gt;
| OS2 = m&lt;br /&gt;
| OS3 = l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;ni-ShowConsoleForPythonNode&amp;quot;&amp;gt;[https://forums.ni.com/t5/LabVIEW-2021-Public-Beta/New-Feature-Improved-Python-Support/m-p/4147033/highlight/true#M87 Improved Python Support (LabVIEW 2021 Public Beta)] by Christina Rogers&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Configuration File|Misc]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=LabVIEW_configuration_file/Miscellaneous&amp;diff=31185</id>
		<title>LabVIEW configuration file/Miscellaneous</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=LabVIEW_configuration_file/Miscellaneous&amp;diff=31185"/>
		<updated>2021-08-23T04:21:24Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: Update GenericsAreGo description that obviously predates the existence of Malleable VI&amp;#039;s.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of Miscellaneous LabVIEW ini File settings. {{TOCright}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = ActiveXMoreContainerOptions&lt;br /&gt;
| example = ActiveXMoreContainerOptions=FALSE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Adds &amp;quot;Persist State To Edit Mode&amp;quot; and &amp;quot;Destroy And Recreate When Run&amp;quot; to the Advanced submenu of an ActiveX container&amp;lt;ref name=&amp;quot;lava-18469&amp;quot;&amp;gt;[https://lavag.org/topic/18469-i-found-some-more-hidden-ini-keys/ I found some more hidden INI keys (LAVA)]&amp;lt;/ref&amp;gt;&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
| OS1 = w&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = BldApp.RemovePolyVIsandTypedefs&lt;br /&gt;
| example =BldApp.RemovePolyVIsandTypedefs=FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Setting this to &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; stops the LabVIEW Application Builder from aggressively removing polymorphic VIs and typedefs that it thinks are not required&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =TRUE&lt;br /&gt;
| LV1 = 7&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =By default, the LabVIEW 7.x Application Builder does not include type definitions and unused instances of polymorphic VIs into executable in order to decrease size of application. This setting can be changed in the LabVIEW 7.1 applciation Builder in the Application Settings page.&lt;br /&gt;
If a VI in your build calls an external VI that uses a type definition in order to pass parameters, and the AppBuilder is unaware of this external VI, it will end in tears.&lt;br /&gt;
Also there is one other issue which makes this setting very important. In LabVIEW 7.x, by disconnecting typedefs from controls they did loose their default data and return to LabVIEWs default default data. This could be a major problem if you used strict typedefed clusters on front panels to provide certain default data when unwired and those default data did not match LabVIEWs default default data. This has been mostly fixed in newer LabVIEW versions from 8.0 on.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = coerceFromVariant&lt;br /&gt;
| example =coerceFromVariant=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Force variants to automatically coerce to any data type that they are connected to&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 7&lt;br /&gt;
| LV2 = 8&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =Tread carefully, as using this function removes coercion notification, and does not use error handling&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = cleanupVisa&lt;br /&gt;
| example =cleanupVisa=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Automatically close VISA sessions - do not require the use of the &#039;&#039;VISA Close&#039;&#039; VI&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 5&lt;br /&gt;
| LV2 = 6&lt;br /&gt;
| LV3 = 7&lt;br /&gt;
| LV4 = 8&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = defaultConPane&lt;br /&gt;
| example = defaultConPane=4833&lt;br /&gt;
| datatype = I32&lt;br /&gt;
| description = Sets the default [[Connector pane]] layout for new VIs&lt;br /&gt;
| permitted_values =&lt;br /&gt;
| default = (4815)&lt;br /&gt;
| LV1 = 8.x&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 = w&lt;br /&gt;
| OS2 = m&lt;br /&gt;
| OS3 = l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes = Source: NI Knowledge Base&lt;br /&gt;
( http://digital.ni.com/public.nsf/allkb/279F064F0688C114862570900057678C )&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = dropThroughClicks&lt;br /&gt;
| example =dropThroughClicks=FALSE&lt;br /&gt;
| datatype = i&lt;br /&gt;
| description =Allow drop-through clicks&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =TRUE&lt;br /&gt;
| LV1 = 4&lt;br /&gt;
| LV2 = 5&lt;br /&gt;
| LV3 = 6&lt;br /&gt;
| LV4 = 7&lt;br /&gt;
| LV5 = 8&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = EnableStrictTypedefConstantConfiguration&lt;br /&gt;
| example = EnableStrictTypedefConstantConfiguration=FALSE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Adds a new context menu item to constants based on strict typedefs called Act as Strict Typedef Constant. &amp;lt;ref name=&amp;quot;lava-18469&amp;quot; /&amp;gt;&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = ExternalNodesEnabled&lt;br /&gt;
| example =ExternalNodesEnabled=FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Enables use of [[External Nodes]]&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =6.x?, 7.x: TRUE  8.x: FALSE&lt;br /&gt;
| LV1 = 6.x?&lt;br /&gt;
| LV2 = 7&lt;br /&gt;
| LV3 = 8&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = ExternalNodeDebugging&lt;br /&gt;
| example =ExternalNodeDebugging=FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Shows External Nodes for what they are: sequence diagrams&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 7&lt;br /&gt;
| LV2 = 8&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = GenericsAreGo&lt;br /&gt;
| example = GenericsAreGo=TRUE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Adds a context-menu item to controls and indicators labeled &amp;quot;Generic&amp;quot;. This activates an abandoned feature in LabVIEW enabling the creation of &amp;quot;[[Generic VIs]]&amp;quot;. If a control marked &amp;quot;generic&amp;quot; is connected to a VI&#039;s connector pane, it will automatically change to whatever type is wired to it; an indicator marked &amp;quot;generic&amp;quot; shows similar behavior with its block diagram terminal. If this just sounds like [[Malleable VIs]] with extra steps, that&#039;s because this is an unfinished prototype of what eventually became that. &#039;&#039;&#039;Using them is a BAD IDEA, unless you just want to experiment with it as a curiosity. NI staff have warned against using this in any kind of production code, as it is very buggy, abandoned for a reason, and can corrupt VI&#039;s. Use Malleable VI&#039;s instead; they do the same thing much better without using buggy unfinished features.&#039;&#039;&#039;&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
| LV1 = 2014&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 = w&lt;br /&gt;
| OS2 = m&lt;br /&gt;
| OS3 = l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes = None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = hotMenus&lt;br /&gt;
| example =hotMenus=FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Use hot menus&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =TRUE&lt;br /&gt;
| LV1 = 4&lt;br /&gt;
| LV2 = 5&lt;br /&gt;
| LV3 = 6&lt;br /&gt;
| LV4 = 7&lt;br /&gt;
| LV5 = 8&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = MaxHelpDescLength&lt;br /&gt;
| example =MaxHelpDescLength=8000&lt;br /&gt;
| datatype =i&lt;br /&gt;
| description =Maximum number of characters that will be displayed before truncation in the Context Help&lt;br /&gt;
| default =8000&lt;br /&gt;
| LV1 = 8&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =If set to a non-positive number, then there will be no max. If set to 50 or less, then 50 will be the max&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = MRUFolders&lt;br /&gt;
| example = MRUFolders=TRUE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = MRUFolders:Most recently used folders. Every time you select a file in a file dialog in LabVIEW, that location (folder) becomes the new top item in the location area (left side of the dialog) of the Windows file dialog.&lt;br /&gt;
| permitted_values = TRUE, FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
| LV1 = 8.2&lt;br /&gt;
| OS1 = w&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = openInRun&lt;br /&gt;
| example =openInRun=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =When opening VIs in the development environment, open them in &#039;&#039;run mode&#039;&#039;&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 3&lt;br /&gt;
| LV2 = 4&lt;br /&gt;
| LV3 = 5&lt;br /&gt;
| LV4 = 6&lt;br /&gt;
| LV5 = 7&lt;br /&gt;
| LV6 = 8&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = readOnlyLock&lt;br /&gt;
| example =readOnlyLock=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Treat read-only VIs as locked&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 5&lt;br /&gt;
| LV2 = 6&lt;br /&gt;
| LV3 = 7&lt;br /&gt;
| LV4 = 8&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =It is important to set this to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; when using source code control outside of the LabVIEW environment, so LabVIEW will not allow a VI that is not checked out to the user to be edited&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = showBDConstName&lt;br /&gt;
| example =showBDConstName=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Show auto-constant labels&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 4&lt;br /&gt;
| LV2 = 5&lt;br /&gt;
| LV3 = 6&lt;br /&gt;
| LV4 = 7&lt;br /&gt;
| LV5 = 8&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = ShowHiddenLibraryItems&lt;br /&gt;
| example = ShowHiddenLibraryItems=FALSE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Shows hidden library items (for example when editing a statechart library). &amp;lt;ref name=&amp;quot;lava-18469&amp;quot; /&amp;gt;&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = showNoNavDialog&lt;br /&gt;
| example =showNoNavDialog=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Prevents the &amp;quot;Getting Started Window&amp;quot; dialog from appearing&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 8&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes = Source: NI Knowledge Base ( http://digital.ni.com/public.nsf/allkb/841B934909D863C886256F62006AC243?OpenDocument )&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = showRunAtAnyLoopMenuItem&lt;br /&gt;
| example = showRunAtAnyLoopMenuItem=FALSE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Adds a new menu item to Property and Invoke nodes labeled &amp;quot;Run At Any Loop&amp;quot;. When selected, the node turns brown as if a private property or method was selected, even if none are. &amp;lt;ref name=&amp;quot;lava-18469&amp;quot; /&amp;gt;&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = ShowTipStrings&lt;br /&gt;
| example =ShowTipStrings=FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Display Tip Strips during execution&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =TRUE&lt;br /&gt;
| LV1 = 4&lt;br /&gt;
| LV2 = 5&lt;br /&gt;
| LV3 = 6&lt;br /&gt;
| LV4 = 7&lt;br /&gt;
| LV5 = 8&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =u&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = SimShowCompanionDiag&lt;br /&gt;
| example = SimShowCompanionDiag=FALSE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Adds a context menu option to the Simulation structure called &amp;quot;Show Companion Diagram&amp;quot;, which toggles showing what looks like a &amp;quot;behind-the-scenes&amp;quot; block diagram for the simulation. &amp;lt;ref name=&amp;quot;lava-18469&amp;quot; /&amp;gt;&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = skipNavigatorDialog&lt;br /&gt;
| example =skipNavigatorDialog=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Skip the navigation dialog on development environment launch&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 5&lt;br /&gt;
| LV2 = 6&lt;br /&gt;
| LV3 = 7&lt;br /&gt;
| LV4 = 8&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = SuperSecretPrivateSpecialStuff&lt;br /&gt;
| example =SuperSecretPrivateSpecialStuff=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Exposes private properties, method and events in the IDE&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 8&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =Not supported by NI, this is not a scripting method.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = suppressFileDlgForMissingVIs&lt;br /&gt;
| example =suppressFileDlgForMissingVIs=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Suppresses the file dialog for when loading a VI that has missing SubVIs&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 5&lt;br /&gt;
| LV2 = 6&lt;br /&gt;
| LV3 = 7&lt;br /&gt;
| LV4 = 8&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = useNativeFileDialog&lt;br /&gt;
| example =useNativeFileDialog=FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Use the OS native file dialogs&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =TRUE&lt;br /&gt;
| LV1 = 4&lt;br /&gt;
| LV2 = 5&lt;br /&gt;
| LV3 = 6&lt;br /&gt;
| LV4 = 7&lt;br /&gt;
| LV5 = 8&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = useUnicode&lt;br /&gt;
| example = useUnicode=FALSE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Enables Unicode characters in LabVIEW. &amp;lt;ref name=&amp;quot;thelvlab&amp;quot;&amp;gt;[https://thelvlab.wixsite.com/thelabviewlab/single-post/2017/12/21/All-the-LabVIEWini-Treasures-You-Were-Looking-For All the LabVIEW.ini Treasures You Were Looking For] (The LabVIEW Lab)&amp;lt;/ref&amp;gt;&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
| OS1 = w&lt;br /&gt;
| OS2 = m&lt;br /&gt;
| OS3 = l&lt;br /&gt;
| notes = Unicode is not fully supported in LabVIEW. Use with caution!&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = userVIsAppearFirst&lt;br /&gt;
| example =userVIsAppearFirst=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Makes the user VIs appear first in the tool menu&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 6&lt;br /&gt;
| LV2 = 7&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =Unfortunately this option no longer works in LabVIEW versions 8+.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = viTitleInPalettes&lt;br /&gt;
| example = viTitleInPalettes=TRUE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Displays window titles instead of VI names in functions palettes. This key is set by the [[Controls/Functions Palettes options#Formatting|Use window titles in functions palette]] option in the [[Controls/Functions Palettes options|Controls/Functions Palettes]] category of the [[Options dialog]].&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = TRUE&lt;br /&gt;
| OS1 = w&lt;br /&gt;
| OS2 = m&lt;br /&gt;
| OS3 = l&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = XNodeDevelopment_LabVIEWInternalTag&lt;br /&gt;
| example =XNodeDevelopment_LabVIEWInternalTag=True&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Enables [[XNode|XNodes]] to be edited and created within LabVIEW.&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| OS1 =m&lt;br /&gt;
| OS2 =l&lt;br /&gt;
| notes =This configuration key does not work on Windows, as it must instead be enabled via the license manager in that version. When enabled, &amp;quot;XNode&amp;quot; will appear in the File-&amp;gt;New dialog.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = XNodeWizardMode&lt;br /&gt;
| example =XNodeWizardMode=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Allows contextual menus on [[XNodes]] to facilitate debugging&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 8&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = MaxGSWRecentProjects&lt;br /&gt;
| example =MaxGSWRecentProjects=10&lt;br /&gt;
| datatype =i&lt;br /&gt;
| description =Allows more projects to be added to the Getting Started Window&lt;br /&gt;
| permitted_values = 1 to 10&lt;br /&gt;
| default = 2&lt;br /&gt;
| LV1 = 2009&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = operateCursorRunningVIs&lt;br /&gt;
| example = operateCursorRunningVIs=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Changes the default cursor on running VIs to its behavior prior to LabVIEW 2012&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
| LV1 = 2012&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = useNewProjWiz&lt;br /&gt;
| example =  useNewProjWiz =FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Set to FALSE to make the Create Project menu items (in File and Project) open empty projects instead of launching the Create Project dialog.&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default = TRUE&lt;br /&gt;
| LV1 = 2012&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = QuickBold&lt;br /&gt;
| example = QuickBold=TRUE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = When editing text (either on the block diagram or the front panel) Ctrl-B allows you to toggle &#039;&#039;&#039;bold&#039;&#039;&#039; on or off. (When not editing text, Ctrl-B still performs it&#039;s normal function: remove broken wires.)&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
| LV1 = 2013&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| OS1 = w&lt;br /&gt;
| OS2 = m&lt;br /&gt;
| OS3 = l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = ShowConsoleForPythonNode&lt;br /&gt;
| example = ShowConsoleForPythonNode=TRUE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Shows the output from Python when a Python Node executes.&amp;lt;ref name=&amp;quot;ni-ShowConsoleForPythonNode&amp;quot;/&amp;gt;&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
| LV1 = 2018 and later&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| OS1 = w&lt;br /&gt;
| OS2 = m&lt;br /&gt;
| OS3 = l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;ni-ShowConsoleForPythonNode&amp;quot;&amp;gt;[https://forums.ni.com/t5/LabVIEW-2021-Public-Beta/New-Feature-Improved-Python-Support/m-p/4147033/highlight/true#M87 Improved Python Support (LabVIEW 2021 Public Beta)] by Christina Rogers&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Configuration File|Misc]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=LabVIEW_configuration_file/Miscellaneous&amp;diff=30294</id>
		<title>LabVIEW configuration file/Miscellaneous</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=LabVIEW_configuration_file/Miscellaneous&amp;diff=30294"/>
		<updated>2020-09-27T15:34:20Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: XNodeDevelopment_LabVIEWInternalTag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of Miscellaneous LabVIEW ini File settings. {{TOCright}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = ActiveXMoreContainerOptions&lt;br /&gt;
| example = ActiveXMoreContainerOptions=FALSE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Adds &amp;quot;Persist State To Edit Mode&amp;quot; and &amp;quot;Destroy And Recreate When Run&amp;quot; to the Advanced submenu of an ActiveX container&amp;lt;ref name=&amp;quot;lava-18469&amp;quot;&amp;gt;[https://lavag.org/topic/18469-i-found-some-more-hidden-ini-keys/ I found some more hidden INI keys (LAVA)]&amp;lt;/ref&amp;gt;&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
| OS1 = w&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = BldApp.RemovePolyVIsandTypedefs&lt;br /&gt;
| example =BldApp.RemovePolyVIsandTypedefs=FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Setting this to &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; stops the LabVIEW Application Builder from aggressively removing polymorphic VIs and typedefs that it thinks are not required&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =TRUE&lt;br /&gt;
| LV1 = 7&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =By default, the LabVIEW 7.x Application Builder does not include type definitions and unused instances of polymorphic VIs into executable in order to decrease size of application. This setting can be changed in the LabVIEW 7.1 applciation Builder in the Application Settings page.&lt;br /&gt;
If a VI in your build calls an external VI that uses a type definition in order to pass parameters, and the AppBuilder is unaware of this external VI, it will end in tears.&lt;br /&gt;
Also there is one other issue which makes this setting very important. In LabVIEW 7.x, by disconnecting typedefs from controls they did loose their default data and return to LabVIEWs default default data. This could be a major problem if you used strict typedefed clusters on front panels to provide certain default data when unwired and those default data did not match LabVIEWs default default data. This has been mostly fixed in newer LabVIEW versions from 8.0 on.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = coerceFromVariant&lt;br /&gt;
| example =coerceFromVariant=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Force variants to automatically coerce to any data type that they are connected to&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 7&lt;br /&gt;
| LV2 = 8&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =Tread carefully, as using this function removes coercion notification, and does not use error handling&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = cleanupVisa&lt;br /&gt;
| example =cleanupVisa=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Automatically close VISA sessions - do not require the use of the &#039;&#039;VISA Close&#039;&#039; VI&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 5&lt;br /&gt;
| LV2 = 6&lt;br /&gt;
| LV3 = 7&lt;br /&gt;
| LV4 = 8&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = defaultConPane&lt;br /&gt;
| example = defaultConPane=4833&lt;br /&gt;
| datatype = I32&lt;br /&gt;
| description = Sets the default [[Connector pane]] layout for new VIs&lt;br /&gt;
| permitted_values =&lt;br /&gt;
| default = (4815)&lt;br /&gt;
| LV1 = 8.x&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 = w&lt;br /&gt;
| OS2 = m&lt;br /&gt;
| OS3 = l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes = Source: NI Knowledge Base&lt;br /&gt;
( http://digital.ni.com/public.nsf/allkb/279F064F0688C114862570900057678C )&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = dropThroughClicks&lt;br /&gt;
| example =dropThroughClicks=FALSE&lt;br /&gt;
| datatype = i&lt;br /&gt;
| description =Allow drop-through clicks&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =TRUE&lt;br /&gt;
| LV1 = 4&lt;br /&gt;
| LV2 = 5&lt;br /&gt;
| LV3 = 6&lt;br /&gt;
| LV4 = 7&lt;br /&gt;
| LV5 = 8&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = EnableStrictTypedefConstantConfiguration&lt;br /&gt;
| example = EnableStrictTypedefConstantConfiguration=FALSE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Adds a new context menu item to constants based on strict typedefs called Act as Strict Typedef Constant. &amp;lt;ref name=&amp;quot;lava-18469&amp;quot; /&amp;gt;&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = ExternalNodesEnabled&lt;br /&gt;
| example =ExternalNodesEnabled=FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Enables use of [[External Nodes]]&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =6.x?, 7.x: TRUE  8.x: FALSE&lt;br /&gt;
| LV1 = 6.x?&lt;br /&gt;
| LV2 = 7&lt;br /&gt;
| LV3 = 8&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = ExternalNodeDebugging&lt;br /&gt;
| example =ExternalNodeDebugging=FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Shows External Nodes for what they are: sequence diagrams&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 7&lt;br /&gt;
| LV2 = 8&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = GenericsAreGo&lt;br /&gt;
| example = GenericsAreGo=TRUE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Adds a context-menu item to controls and indicators labeled &amp;quot;Generic&amp;quot;. This activates an abandoned feature in LabVIEW enabling the creation of &amp;quot;[[Generic VIs]]&amp;quot;. If a control marked &amp;quot;generic&amp;quot; is connected to a VI&#039;s connector pane, it will automatically change to whatever type is wired to it, and an indicator marked &amp;quot;generic&amp;quot; shows similar behavior with its block diagram terminal. This enables the creation of VI&#039;s that can work with literally any type, without needing to use polymorphic VI&#039;s. This sounds like it would be useful, &#039;&#039;&#039;HOWEVER, you should only use this if you only want to experiment with unreleased features. NI staff have warned against using this in any kind of production code, as it is very buggy, abandoned for a reason, and can corrupt VI&#039;s.&#039;&#039;&#039;&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
| LV1 = 2014&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 = w&lt;br /&gt;
| OS2 = m&lt;br /&gt;
| OS3 = l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes = None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = hotMenus&lt;br /&gt;
| example =hotMenus=FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Use hot menus&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =TRUE&lt;br /&gt;
| LV1 = 4&lt;br /&gt;
| LV2 = 5&lt;br /&gt;
| LV3 = 6&lt;br /&gt;
| LV4 = 7&lt;br /&gt;
| LV5 = 8&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = MaxHelpDescLength&lt;br /&gt;
| example =MaxHelpDescLength=8000&lt;br /&gt;
| datatype =i&lt;br /&gt;
| description =Maximum number of characters that will be displayed before truncation in the Context Help&lt;br /&gt;
| default =8000&lt;br /&gt;
| LV1 = 8&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =If set to a non-positive number, then there will be no max. If set to 50 or less, then 50 will be the max&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = MRUFolders&lt;br /&gt;
| example = MRUFolders=TRUE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = MRUFolders:Most recently used folders. Every time you select a file in a file dialog in LabVIEW, that location (folder) becomes the new top item in the location area (left side of the dialog) of the Windows file dialog.&lt;br /&gt;
| permitted_values = TRUE, FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
| LV1 = 8.2&lt;br /&gt;
| OS1 = w&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = openInRun&lt;br /&gt;
| example =openInRun=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =When opening VIs in the development environment, open them in &#039;&#039;run mode&#039;&#039;&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 3&lt;br /&gt;
| LV2 = 4&lt;br /&gt;
| LV3 = 5&lt;br /&gt;
| LV4 = 6&lt;br /&gt;
| LV5 = 7&lt;br /&gt;
| LV6 = 8&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = readOnlyLock&lt;br /&gt;
| example =readOnlyLock=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Treat read-only VIs as locked&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 5&lt;br /&gt;
| LV2 = 6&lt;br /&gt;
| LV3 = 7&lt;br /&gt;
| LV4 = 8&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =It is important to set this to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; when using source code control outside of the LabVIEW environment, so LabVIEW will not allow a VI that is not checked out to the user to be edited&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = showBDConstName&lt;br /&gt;
| example =showBDConstName=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Show auto-constant labels&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 4&lt;br /&gt;
| LV2 = 5&lt;br /&gt;
| LV3 = 6&lt;br /&gt;
| LV4 = 7&lt;br /&gt;
| LV5 = 8&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = ShowHiddenLibraryItems&lt;br /&gt;
| example = ShowHiddenLibraryItems=FALSE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Shows hidden library items (for example when editing a statechart library). &amp;lt;ref name=&amp;quot;lava-18469&amp;quot; /&amp;gt;&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = showNoNavDialog&lt;br /&gt;
| example =showNoNavDialog=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Prevents the &amp;quot;Getting Started Window&amp;quot; dialog from appearing&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 8&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes = Source: NI Knowledge Base ( http://digital.ni.com/public.nsf/allkb/841B934909D863C886256F62006AC243?OpenDocument )&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = showRunAtAnyLoopMenuItem&lt;br /&gt;
| example = showRunAtAnyLoopMenuItem=FALSE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Adds a new menu item to Property and Invoke nodes labeled &amp;quot;Run At Any Loop&amp;quot;. When selected, the node turns brown as if a private property or method was selected, even if none are. &amp;lt;ref name=&amp;quot;lava-18469&amp;quot; /&amp;gt;&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = ShowTipStrings&lt;br /&gt;
| example =ShowTipStrings=FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Display Tip Strips during execution&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =TRUE&lt;br /&gt;
| LV1 = 4&lt;br /&gt;
| LV2 = 5&lt;br /&gt;
| LV3 = 6&lt;br /&gt;
| LV4 = 7&lt;br /&gt;
| LV5 = 8&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =u&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = SimShowCompanionDiag&lt;br /&gt;
| example = SimShowCompanionDiag=FALSE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Adds a context menu option to the Simulation structure called &amp;quot;Show Companion Diagram&amp;quot;, which toggles showing what looks like a &amp;quot;behind-the-scenes&amp;quot; block diagram for the simulation. &amp;lt;ref name=&amp;quot;lava-18469&amp;quot; /&amp;gt;&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = skipNavigatorDialog&lt;br /&gt;
| example =skipNavigatorDialog=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Skip the navigation dialog on development environment launch&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 5&lt;br /&gt;
| LV2 = 6&lt;br /&gt;
| LV3 = 7&lt;br /&gt;
| LV4 = 8&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = SuperSecretPrivateSpecialStuff&lt;br /&gt;
| example =SuperSecretPrivateSpecialStuff=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Exposes private properties, method and events in the IDE&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 8&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =Not supported by NI, this is not a scripting method.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = suppressFileDlgForMissingVIs&lt;br /&gt;
| example =suppressFileDlgForMissingVIs=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Suppresses the file dialog for when loading a VI that has missing SubVIs&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 5&lt;br /&gt;
| LV2 = 6&lt;br /&gt;
| LV3 = 7&lt;br /&gt;
| LV4 = 8&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = useNativeFileDialog&lt;br /&gt;
| example =useNativeFileDialog=FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Use the OS native file dialogs&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =TRUE&lt;br /&gt;
| LV1 = 4&lt;br /&gt;
| LV2 = 5&lt;br /&gt;
| LV3 = 6&lt;br /&gt;
| LV4 = 7&lt;br /&gt;
| LV5 = 8&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = useUnicode&lt;br /&gt;
| example = useUnicode=FALSE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Enables Unicode characters in LabVIEW. &amp;lt;ref name=&amp;quot;thelvlab&amp;quot;&amp;gt;[https://thelvlab.wixsite.com/thelabviewlab/single-post/2017/12/21/All-the-LabVIEWini-Treasures-You-Were-Looking-For All the LabVIEW.ini Treasures You Were Looking For] (The LabVIEW Lab)&amp;lt;/ref&amp;gt;&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
| OS1 = w&lt;br /&gt;
| OS2 = m&lt;br /&gt;
| OS3 = l&lt;br /&gt;
| notes = Unicode is not fully supported in LabVIEW. Use with caution!&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = userVIsAppearFirst&lt;br /&gt;
| example =userVIsAppearFirst=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Makes the user VIs appear first in the tool menu&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 6&lt;br /&gt;
| LV2 = 7&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =Unfortunately this option no longer works in LabVIEW versions 8+.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = viTitleInPalettes&lt;br /&gt;
| example = viTitleInPalettes=TRUE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Displays window titles instead of VI names in functions palettes. This key is set by the [[Controls/Functions Palettes options#Formatting|Use window titles in functions palette]] option in the [[Controls/Functions Palettes options|Controls/Functions Palettes]] category of the [[Options dialog]].&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = TRUE&lt;br /&gt;
| OS1 = w&lt;br /&gt;
| OS2 = m&lt;br /&gt;
| OS3 = l&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = XNodeDevelopment_LabVIEWInternalTag&lt;br /&gt;
| example =XNodeDevelopment_LabVIEWInternalTag=True&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Enables [[XNode|XNodes]] to be edited and created within LabVIEW.&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| OS1 =m&lt;br /&gt;
| OS2 =l&lt;br /&gt;
| notes =This configuration key does not work on Windows, as it must instead be enabled via the license manager in that version. When enabled, &amp;quot;XNode&amp;quot; will appear in the File-&amp;gt;New dialog.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = XNodeWizardMode&lt;br /&gt;
| example =XNodeWizardMode=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Allows contextual menus on [[XNodes]] to facilitate debugging&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 8&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = MaxGSWRecentProjects&lt;br /&gt;
| example =MaxGSWRecentProjects=10&lt;br /&gt;
| datatype =i&lt;br /&gt;
| description =Allows more projects to be added to the Getting Started Window&lt;br /&gt;
| permitted_values = 1 to 10&lt;br /&gt;
| default = 2&lt;br /&gt;
| LV1 = 2009&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = operateCursorRunningVIs&lt;br /&gt;
| example = operateCursorRunningVIs=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Changes the default cursor on running VIs to its behavior prior to LabVIEW 2012&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
| LV1 = 2012&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = useNewProjWiz&lt;br /&gt;
| example =  useNewProjWiz =FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Set to FALSE to make the Create Project menu items (in File and Project) open empty projects instead of launching the Create Project dialog.&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default = TRUE&lt;br /&gt;
| LV1 = 2012&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = QuickBold&lt;br /&gt;
| example = QuickBold=TRUE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = When editing text (either on the block diagram or the front panel) Ctrl-B allows you to toggle &#039;&#039;&#039;bold&#039;&#039;&#039; on or off. (When not editing text, Ctrl-B still performs it&#039;s normal function: remove broken wires.)&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
| LV1 = 2013&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| OS1 = w&lt;br /&gt;
| OS2 = m&lt;br /&gt;
| OS3 = l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Configuration File|Misc]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=XNodes&amp;diff=30293</id>
		<title>XNodes</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=XNodes&amp;diff=30293"/>
		<updated>2020-09-27T15:29:24Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;XNodes&#039;&#039;&#039; are a technology built into [[LabVIEW 8.0]]+ that allows dynamic edit-time macro support. XNodes are [[Library|Libraries]] that feature several &amp;quot;Ability&amp;quot; [[VI]]s which consist of various events and methods of the XNode.&lt;br /&gt;
&lt;br /&gt;
{{See also|List of XNode Abilities}}&lt;br /&gt;
&lt;br /&gt;
==XNodes used in LabVIEW 8.2==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{|cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Class Aggregate Handler? || ([[vi.lib]]\Utility\AggHandler\Cls_AggHandler.xnode)&lt;br /&gt;
|-&lt;br /&gt;
| Class Grow Array Handler? || ([[vi.lib]]\Utility\XGrowArr-llb\Cls_GrowArr.xnode)&lt;br /&gt;
|-&lt;br /&gt;
| Regular Expression || ([[vi.lib]]\regexp\Match Regular Expression.xnode)&lt;br /&gt;
|-&lt;br /&gt;
| Shared Variables || ([[vi.lib]]\variable\varXNode.llb\vi.lib\variable\varXNode.llb\varXNode.xnode)&lt;br /&gt;
|-&lt;br /&gt;
| Timed Loops || ([[vi.lib]]\Platform\TimedLoop\XDataNode\XDataNode.xnode)&lt;br /&gt;
|-&lt;br /&gt;
| Database Variant To Data || ([[vi.lib]]\addons\database\_DB Variant To Data\Database Variant To Data.xnode)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ability VIs ==&lt;br /&gt;
:&#039;&#039;Main Article: [[List of XNode Abilities|List of XNode Abilities]].&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== XNodes in Palettes==&lt;br /&gt;
XNodes can be added to palettes as if they were plain [[VI]]s; however, the icon&lt;br /&gt;
that is displayed in the palette is that stored in the .xnode file and not the image created by the [[Image (XNode Ability)|Image]] Ability vi. It is possible to set the icon in the .xnode file by manually editing the xml file. One way of doing this is to create a LabVIEW library (.lvlib, not .llb) from within LabVIEW and edit the icon for this library. Then making sure that all references to the Xnode are closed, open both the .lvlib file and .xnode file in a text editor and copy across the &amp;lt;Property Name=&amp;quot;NI.Lib.Icon&amp;quot;... line.&lt;br /&gt;
&lt;br /&gt;
== Developing XNodes ==&lt;br /&gt;
LabVIEW contains functionality to create and edit XNodes as libraries, similar to [[XControl|XControls]]; however, this functionality is not an official part of LabVIEW and is disabled by default. On Linux and macOS, you can enable this functionality in the [[LabVIEW configuration file]], by setting &amp;lt;code&amp;gt;XNodeDevelopment_LabVIEWInternalTag&amp;lt;/code&amp;gt; to True.&lt;br /&gt;
&lt;br /&gt;
On Windows, it is not quite as simple, as the functionality is instead enabled via the license manager, requiring an activated license containing the feature &amp;lt;code&amp;gt;LabVIEW_XNodeDevelopment&amp;lt;/code&amp;gt;. However, NI does not sell (nor give away) this license, and their server will not activate it for anyone outside of NI. As such, unless you work for NI, enabling XNode development on Windows requires one to bypass the license manager somehow, which may be illegal in some jurisdictions even if you aren&#039;t using it for piracy. One alternative is to use another tool to create and edit XNodes, such as hooovahh&#039;s [https://lavag.org/files/file/293-xnode-editor/ XNode Editor].&lt;br /&gt;
&lt;br /&gt;
If you have enabled XNode development natively, &amp;quot;XNode&amp;quot; will be available as an option in the File-&amp;gt;New dialog. It will appear in the same way as any type of library, and you can add Ability VI&#039;s just like one would on an XControl.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[External Node]]&lt;br /&gt;
*[[XControl]]&lt;br /&gt;
*[[VI Scripting]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Xnode]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Generic_VI&amp;diff=30277</id>
		<title>Generic VI</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Generic_VI&amp;diff=30277"/>
		<updated>2020-09-21T21:51:00Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: /* History */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A &#039;&#039;&#039;Generic VI&#039;&#039;&#039; is a VI containing one or more [[Control class/Genericity property|generic]] controls or indicators. Generic VI&#039;s are a prototype of what would eventually become the [[Malleable VI]]. As such, they are an unfinished, abandoned technology whose use is not supported by National Instruments, and they are liable to crash LabVIEW and/or corrupt data.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
The first publicly-available Generic VI was published by Aristos Queue in [https://forums.ni.com/t5/LabVIEW-Developers-Feature/Now-available-for-download-quot-Randomize-1D-Array-vi-quot-that/td-p/1159329?profile.language=en a thread] on the official NI forums. Other than a subsequent update to the VI to correct its randomness, this was the only generic VI published by National Instruments. Both versions had a block diagram password set to prevent the generic controls from being copied to other VI&#039;s, and were since taken down regardless.&lt;br /&gt;
&lt;br /&gt;
Development of the Generic VI technology was abandoned, but its concept was later used for the much more stable [[VI Macros]], which finally became Malleable VI&#039;s in LabVIEW 2017.&lt;br /&gt;
&lt;br /&gt;
==Creating Generic VI&#039;s==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-weight:bold;color:red&amp;quot;&amp;gt;Note: There is no good reason you should be creating a generic VI, unless you are only doing so as a curiosity. For all other purposes, you can use a Malleable VI in much the same way. Furthermore, if you do create any generic VI&#039;s, make sure you keep them far away from any VI&#039;s you aren&#039;t okay with corrupting.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Creating a generic VI is only a matter of placing one or more generic controls or indicators on a VI&#039;s front panel, and wiring them to the connector pane. Generic terminals will automatically change to the type wired to them; a generic control can also be placed in an array or cluster to act as &amp;quot;wildcards&amp;quot; in the data type. (For example, a terminal with a generic control inside a non-generic array will accept any array type.)&lt;br /&gt;
&lt;br /&gt;
Generic controls can be obtained either by copying them from an existing Generic VI (such as [[File:Randomize 1D Array nopass.zip]], a passwordless version of Randomize 1D Array) or by making a regular control into a generic one. There are two main ways of doing this:&lt;br /&gt;
&lt;br /&gt;
* Add &amp;lt;code&amp;gt;GenericsAreGo=True&amp;lt;/code&amp;gt; to your [[LabVIEW configuration file]]. Right-click a control or indicator, and select the new &amp;quot;Generic&amp;quot; option that appears in the context menu. &#039;&#039;&#039;Make sure to remove the configuration file key afterwards, to ensure you don&#039;t inadvertently create a Generic VI later on.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Set the [[Control class/Genericity property|Genericity property]] on a control or indicator to True. This property is private, so you will need &amp;lt;code&amp;gt;SuperSecretPrivateSpecialStuff=True&amp;lt;/code&amp;gt; in your [[LabVIEW configuration file]].&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Generic_VI&amp;diff=30276</id>
		<title>Generic VI</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Generic_VI&amp;diff=30276"/>
		<updated>2020-09-21T21:40:34Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: /* Creating Generic VI&amp;#039;s */ fix bold formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A &#039;&#039;&#039;Generic VI&#039;&#039;&#039; is a VI containing one or more [[Control class/Genericity property|generic]] controls or indicators. Generic VI&#039;s are a prototype of what would eventually become the [[Malleable VI]]. As such, they are an unfinished, abandoned technology whose use is not supported by National Instruments, and they are liable to crash LabVIEW and/or corrupt data.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
The first publicly-available Generic VI was published by Aristos Queue in [https://forums.ni.com/t5/LabVIEW-Developers-Feature/Now-available-for-download-quot-Randomize-1D-Array-vi-quot-that/td-p/1159329?profile.language=en a thread] on the official NI forums. Other than a subsequent update to the VI to correct its randomness, this was the only generic VI published by National Instruments. Both versions had a block diagram password set to prevent the generic controls from being copied to other VI&#039;s, and were since taken down regardless.&lt;br /&gt;
&lt;br /&gt;
==Creating Generic VI&#039;s==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-weight:bold;color:red&amp;quot;&amp;gt;Note: There is no good reason you should be creating a generic VI, unless you are only doing so as a curiosity. For all other purposes, you can use a Malleable VI in much the same way. Furthermore, if you do create any generic VI&#039;s, make sure you keep them far away from any VI&#039;s you aren&#039;t okay with corrupting.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Creating a generic VI is only a matter of placing one or more generic controls or indicators on a VI&#039;s front panel, and wiring them to the connector pane. Generic terminals will automatically change to the type wired to them; a generic control can also be placed in an array or cluster to act as &amp;quot;wildcards&amp;quot; in the data type. (For example, a terminal with a generic control inside a non-generic array will accept any array type.)&lt;br /&gt;
&lt;br /&gt;
Generic controls can be obtained either by copying them from an existing Generic VI (such as [[File:Randomize 1D Array nopass.zip]], a passwordless version of Randomize 1D Array) or by making a regular control into a generic one. There are two main ways of doing this:&lt;br /&gt;
&lt;br /&gt;
* Add &amp;lt;code&amp;gt;GenericsAreGo=True&amp;lt;/code&amp;gt; to your [[LabVIEW configuration file]]. Right-click a control or indicator, and select the new &amp;quot;Generic&amp;quot; option that appears in the context menu. &#039;&#039;&#039;Make sure to remove the configuration file key afterwards, to ensure you don&#039;t inadvertently create a Generic VI later on.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Set the [[Control class/Genericity property|Genericity property]] on a control or indicator to True. This property is private, so you will need &amp;lt;code&amp;gt;SuperSecretPrivateSpecialStuff=True&amp;lt;/code&amp;gt; in your [[LabVIEW configuration file]].&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Generic_VIs&amp;diff=30275</id>
		<title>Generic VIs</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Generic_VIs&amp;diff=30275"/>
		<updated>2020-09-21T15:13:34Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: Redirected page to Generic VI&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Generic VI]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=LabVIEW_configuration_file/Miscellaneous&amp;diff=30274</id>
		<title>LabVIEW configuration file/Miscellaneous</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=LabVIEW_configuration_file/Miscellaneous&amp;diff=30274"/>
		<updated>2020-09-21T15:13:22Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of Miscellaneous LabVIEW ini File settings. {{TOCright}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = ActiveXMoreContainerOptions&lt;br /&gt;
| example = ActiveXMoreContainerOptions=FALSE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Adds &amp;quot;Persist State To Edit Mode&amp;quot; and &amp;quot;Destroy And Recreate When Run&amp;quot; to the Advanced submenu of an ActiveX container&amp;lt;ref name=&amp;quot;lava-18469&amp;quot;&amp;gt;[https://lavag.org/topic/18469-i-found-some-more-hidden-ini-keys/ I found some more hidden INI keys (LAVA)]&amp;lt;/ref&amp;gt;&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
| OS1 = w&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = BldApp.RemovePolyVIsandTypedefs&lt;br /&gt;
| example =BldApp.RemovePolyVIsandTypedefs=FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Setting this to &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; stops the LabVIEW Application Builder from aggressively removing polymorphic VIs and typedefs that it thinks are not required&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =TRUE&lt;br /&gt;
| LV1 = 7&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =By default, the LabVIEW 7.x Application Builder does not include type definitions and unused instances of polymorphic VIs into executable in order to decrease size of application. This setting can be changed in the LabVIEW 7.1 applciation Builder in the Application Settings page.&lt;br /&gt;
If a VI in your build calls an external VI that uses a type definition in order to pass parameters, and the AppBuilder is unaware of this external VI, it will end in tears.&lt;br /&gt;
Also there is one other issue which makes this setting very important. In LabVIEW 7.x, by disconnecting typedefs from controls they did loose their default data and return to LabVIEWs default default data. This could be a major problem if you used strict typedefed clusters on front panels to provide certain default data when unwired and those default data did not match LabVIEWs default default data. This has been mostly fixed in newer LabVIEW versions from 8.0 on.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = coerceFromVariant&lt;br /&gt;
| example =coerceFromVariant=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Force variants to automatically coerce to any data type that they are connected to&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 7&lt;br /&gt;
| LV2 = 8&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =Tread carefully, as using this function removes coercion notification, and does not use error handling&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = cleanupVisa&lt;br /&gt;
| example =cleanupVisa=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Automatically close VISA sessions - do not require the use of the &#039;&#039;VISA Close&#039;&#039; VI&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 5&lt;br /&gt;
| LV2 = 6&lt;br /&gt;
| LV3 = 7&lt;br /&gt;
| LV4 = 8&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = defaultConPane&lt;br /&gt;
| example = defaultConPane=4833&lt;br /&gt;
| datatype = I32&lt;br /&gt;
| description = Sets the default [[Connector pane]] layout for new VIs&lt;br /&gt;
| permitted_values =&lt;br /&gt;
| default = (4815)&lt;br /&gt;
| LV1 = 8.x&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 = w&lt;br /&gt;
| OS2 = m&lt;br /&gt;
| OS3 = l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes = Source: NI Knowledge Base&lt;br /&gt;
( http://digital.ni.com/public.nsf/allkb/279F064F0688C114862570900057678C )&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = dropThroughClicks&lt;br /&gt;
| example =dropThroughClicks=FALSE&lt;br /&gt;
| datatype = i&lt;br /&gt;
| description =Allow drop-through clicks&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =TRUE&lt;br /&gt;
| LV1 = 4&lt;br /&gt;
| LV2 = 5&lt;br /&gt;
| LV3 = 6&lt;br /&gt;
| LV4 = 7&lt;br /&gt;
| LV5 = 8&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = EnableStrictTypedefConstantConfiguration&lt;br /&gt;
| example = EnableStrictTypedefConstantConfiguration=FALSE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Adds a new context menu item to constants based on strict typedefs called Act as Strict Typedef Constant. &amp;lt;ref name=&amp;quot;lava-18469&amp;quot; /&amp;gt;&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = ExternalNodesEnabled&lt;br /&gt;
| example =ExternalNodesEnabled=FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Enables use of [[External Nodes]]&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =6.x?, 7.x: TRUE  8.x: FALSE&lt;br /&gt;
| LV1 = 6.x?&lt;br /&gt;
| LV2 = 7&lt;br /&gt;
| LV3 = 8&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = ExternalNodeDebugging&lt;br /&gt;
| example =ExternalNodeDebugging=FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Shows External Nodes for what they are: sequence diagrams&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 7&lt;br /&gt;
| LV2 = 8&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = GenericsAreGo&lt;br /&gt;
| example = GenericsAreGo=TRUE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Adds a context-menu item to controls and indicators labeled &amp;quot;Generic&amp;quot;. This activates an abandoned feature in LabVIEW enabling the creation of &amp;quot;[[Generic VIs]]&amp;quot;. If a control marked &amp;quot;generic&amp;quot; is connected to a VI&#039;s connector pane, it will automatically change to whatever type is wired to it, and an indicator marked &amp;quot;generic&amp;quot; shows similar behavior with its block diagram terminal. This enables the creation of VI&#039;s that can work with literally any type, without needing to use polymorphic VI&#039;s. This sounds like it would be useful, &#039;&#039;&#039;HOWEVER, you should only use this if you only want to experiment with unreleased features. NI staff have warned against using this in any kind of production code, as it is very buggy, abandoned for a reason, and can corrupt VI&#039;s.&#039;&#039;&#039;&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
| LV1 = 2014&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 = w&lt;br /&gt;
| OS2 = m&lt;br /&gt;
| OS3 = l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes = None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = hotMenus&lt;br /&gt;
| example =hotMenus=FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Use hot menus&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =TRUE&lt;br /&gt;
| LV1 = 4&lt;br /&gt;
| LV2 = 5&lt;br /&gt;
| LV3 = 6&lt;br /&gt;
| LV4 = 7&lt;br /&gt;
| LV5 = 8&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = MaxHelpDescLength&lt;br /&gt;
| example =MaxHelpDescLength=8000&lt;br /&gt;
| datatype =i&lt;br /&gt;
| description =Maximum number of characters that will be displayed before truncation in the Context Help&lt;br /&gt;
| default =8000&lt;br /&gt;
| LV1 = 8&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =If set to a non-positive number, then there will be no max. If set to 50 or less, then 50 will be the max&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = MRUFolders&lt;br /&gt;
| example = MRUFolders=TRUE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = MRUFolders:Most recently used folders. Every time you select a file in a file dialog in LabVIEW, that location (folder) becomes the new top item in the location area (left side of the dialog) of the Windows file dialog.&lt;br /&gt;
| permitted_values = TRUE, FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
| LV1 = 8.2&lt;br /&gt;
| OS1 = w&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = openInRun&lt;br /&gt;
| example =openInRun=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =When opening VIs in the development environment, open them in &#039;&#039;run mode&#039;&#039;&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 3&lt;br /&gt;
| LV2 = 4&lt;br /&gt;
| LV3 = 5&lt;br /&gt;
| LV4 = 6&lt;br /&gt;
| LV5 = 7&lt;br /&gt;
| LV6 = 8&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = readOnlyLock&lt;br /&gt;
| example =readOnlyLock=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Treat read-only VIs as locked&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 5&lt;br /&gt;
| LV2 = 6&lt;br /&gt;
| LV3 = 7&lt;br /&gt;
| LV4 = 8&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =It is important to set this to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; when using source code control outside of the LabVIEW environment, so LabVIEW will not allow a VI that is not checked out to the user to be edited&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = showBDConstName&lt;br /&gt;
| example =showBDConstName=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Show auto-constant labels&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 4&lt;br /&gt;
| LV2 = 5&lt;br /&gt;
| LV3 = 6&lt;br /&gt;
| LV4 = 7&lt;br /&gt;
| LV5 = 8&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = ShowHiddenLibraryItems&lt;br /&gt;
| example = ShowHiddenLibraryItems=FALSE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Shows hidden library items (for example when editing a statechart library). &amp;lt;ref name=&amp;quot;lava-18469&amp;quot; /&amp;gt;&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = showNoNavDialog&lt;br /&gt;
| example =showNoNavDialog=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Prevents the &amp;quot;Getting Started Window&amp;quot; dialog from appearing&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 8&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes = Source: NI Knowledge Base ( http://digital.ni.com/public.nsf/allkb/841B934909D863C886256F62006AC243?OpenDocument )&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = showRunAtAnyLoopMenuItem&lt;br /&gt;
| example = showRunAtAnyLoopMenuItem=FALSE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Adds a new menu item to Property and Invoke nodes labeled &amp;quot;Run At Any Loop&amp;quot;. When selected, the node turns brown as if a private property or method was selected, even if none are. &amp;lt;ref name=&amp;quot;lava-18469&amp;quot; /&amp;gt;&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = ShowTipStrings&lt;br /&gt;
| example =ShowTipStrings=FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Display Tip Strips during execution&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =TRUE&lt;br /&gt;
| LV1 = 4&lt;br /&gt;
| LV2 = 5&lt;br /&gt;
| LV3 = 6&lt;br /&gt;
| LV4 = 7&lt;br /&gt;
| LV5 = 8&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =u&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = SimShowCompanionDiag&lt;br /&gt;
| example = SimShowCompanionDiag=FALSE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Adds a context menu option to the Simulation structure called &amp;quot;Show Companion Diagram&amp;quot;, which toggles showing what looks like a &amp;quot;behind-the-scenes&amp;quot; block diagram for the simulation. &amp;lt;ref name=&amp;quot;lava-18469&amp;quot; /&amp;gt;&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = skipNavigatorDialog&lt;br /&gt;
| example =skipNavigatorDialog=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Skip the navigation dialog on development environment launch&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 5&lt;br /&gt;
| LV2 = 6&lt;br /&gt;
| LV3 = 7&lt;br /&gt;
| LV4 = 8&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = SuperSecretPrivateSpecialStuff&lt;br /&gt;
| example =SuperSecretPrivateSpecialStuff=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Exposes private properties, method and events in the IDE&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 8&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =Not supported by NI, this is not a scripting method.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = suppressFileDlgForMissingVIs&lt;br /&gt;
| example =suppressFileDlgForMissingVIs=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Suppresses the file dialog for when loading a VI that has missing SubVIs&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 5&lt;br /&gt;
| LV2 = 6&lt;br /&gt;
| LV3 = 7&lt;br /&gt;
| LV4 = 8&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = useNativeFileDialog&lt;br /&gt;
| example =useNativeFileDialog=FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Use the OS native file dialogs&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =TRUE&lt;br /&gt;
| LV1 = 4&lt;br /&gt;
| LV2 = 5&lt;br /&gt;
| LV3 = 6&lt;br /&gt;
| LV4 = 7&lt;br /&gt;
| LV5 = 8&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = useUnicode&lt;br /&gt;
| example = useUnicode=FALSE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Enables Unicode characters in LabVIEW. &amp;lt;ref name=&amp;quot;thelvlab&amp;quot;&amp;gt;[https://thelvlab.wixsite.com/thelabviewlab/single-post/2017/12/21/All-the-LabVIEWini-Treasures-You-Were-Looking-For All the LabVIEW.ini Treasures You Were Looking For] (The LabVIEW Lab)&amp;lt;/ref&amp;gt;&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
| OS1 = w&lt;br /&gt;
| OS2 = m&lt;br /&gt;
| OS3 = l&lt;br /&gt;
| notes = Unicode is not fully supported in LabVIEW. Use with caution!&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = userVIsAppearFirst&lt;br /&gt;
| example =userVIsAppearFirst=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Makes the user VIs appear first in the tool menu&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 6&lt;br /&gt;
| LV2 = 7&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =Unfortunately this option no longer works in LabVIEW versions 8+.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = viTitleInPalettes&lt;br /&gt;
| example = viTitleInPalettes=TRUE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Displays window titles instead of VI names in functions palettes. This key is set by the [[Controls/Functions Palettes options#Formatting|Use window titles in functions palette]] option in the [[Controls/Functions Palettes options|Controls/Functions Palettes]] category of the [[Options dialog]].&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = TRUE&lt;br /&gt;
| OS1 = w&lt;br /&gt;
| OS2 = m&lt;br /&gt;
| OS3 = l&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = XNodeWizardMode&lt;br /&gt;
| example =XNodeWizardMode=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Allows contextual menus on [[XNodes]] to facilitate debugging&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 8&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = MaxGSWRecentProjects&lt;br /&gt;
| example =MaxGSWRecentProjects=10&lt;br /&gt;
| datatype =i&lt;br /&gt;
| description =Allows more projects to be added to the Getting Started Window&lt;br /&gt;
| permitted_values = 1 to 10&lt;br /&gt;
| default = 2&lt;br /&gt;
| LV1 = 2009&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = operateCursorRunningVIs&lt;br /&gt;
| example = operateCursorRunningVIs=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Changes the default cursor on running VIs to its behavior prior to LabVIEW 2012&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
| LV1 = 2012&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = useNewProjWiz&lt;br /&gt;
| example =  useNewProjWiz =FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Set to FALSE to make the Create Project menu items (in File and Project) open empty projects instead of launching the Create Project dialog.&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default = TRUE&lt;br /&gt;
| LV1 = 2012&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = QuickBold&lt;br /&gt;
| example = QuickBold=TRUE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = When editing text (either on the block diagram or the front panel) Ctrl-B allows you to toggle &#039;&#039;&#039;bold&#039;&#039;&#039; on or off. (When not editing text, Ctrl-B still performs it&#039;s normal function: remove broken wires.)&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
| LV1 = 2013&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| OS1 = w&lt;br /&gt;
| OS2 = m&lt;br /&gt;
| OS3 = l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Configuration File|Misc]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Generic_VI&amp;diff=30273</id>
		<title>Generic VI</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Generic_VI&amp;diff=30273"/>
		<updated>2020-09-21T04:25:59Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: Created page with &amp;quot;A &amp;#039;&amp;#039;&amp;#039;Generic VI&amp;#039;&amp;#039;&amp;#039; is a VI containing one or more generic controls or indicators. Generic VI&amp;#039;s are a prototype of what would eventually b...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A &#039;&#039;&#039;Generic VI&#039;&#039;&#039; is a VI containing one or more [[Control class/Genericity property|generic]] controls or indicators. Generic VI&#039;s are a prototype of what would eventually become the [[Malleable VI]]. As such, they are an unfinished, abandoned technology whose use is not supported by National Instruments, and they are liable to crash LabVIEW and/or corrupt data.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
The first publicly-available Generic VI was published by Aristos Queue in [https://forums.ni.com/t5/LabVIEW-Developers-Feature/Now-available-for-download-quot-Randomize-1D-Array-vi-quot-that/td-p/1159329?profile.language=en a thread] on the official NI forums. Other than a subsequent update to the VI to correct its randomness, this was the only generic VI published by National Instruments. Both versions had a block diagram password set to prevent the generic controls from being copied to other VI&#039;s, and were since taken down regardless.&lt;br /&gt;
&lt;br /&gt;
==Creating Generic VI&#039;s==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-weight:bold;color:red&amp;quot;&amp;gt;Note: There is no good reason you should be creating a generic VI, unless you are only doing so as a curiosity. For all other purposes, you can use a Malleable VI in much the same way. Furthermore, if you do create any generic VI&#039;s, make sure you keep them far away from any VI&#039;s you aren&#039;t okay with corrupting.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Creating a generic VI is only a matter of placing one or more generic controls or indicators on a VI&#039;s front panel, and wiring them to the connector pane. Generic terminals will automatically change to the type wired to them; a generic control can also be placed in an array or cluster to act as &amp;quot;wildcards&amp;quot; in the data type. (For example, a terminal with a generic control inside a non-generic array will accept any array type.)&lt;br /&gt;
&lt;br /&gt;
Generic controls can be obtained either by copying them from an existing Generic VI (such as [[File:Randomize 1D Array nopass.zip]], a passwordless version of Randomize 1D Array) or by making a regular control into a generic one. There are two main ways of doing this:&lt;br /&gt;
&lt;br /&gt;
* Add &amp;lt;code&amp;gt;GenericsAreGo=True&amp;lt;/code&amp;gt; to your [[LabVIEW configuration file]]. Right-click a control or indicator, and select the new &amp;quot;Generic&amp;quot; option that appears in the context menu. &#039;&#039;&#039;Make sure to remove the configuration file key afterwards, to ensure you don&#039;t inadvertently create a Generic VI later on.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Set the [[Control class/Genericity property|Genericity property]] on a control or indicator to True. This property is private, so you will need &amp;lt;code&amp;gt;SuperSecretPrivateSpecialStuff=True&amp;lt;/code&amp;gt; in your [[LabVIEW configuration file]].&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=File:Randomize_1D_Array_nopass.zip&amp;diff=30272</id>
		<title>File:Randomize 1D Array nopass.zip</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=File:Randomize_1D_Array_nopass.zip&amp;diff=30272"/>
		<updated>2020-09-21T04:12:28Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
The &amp;quot;Randomize 1D Array&amp;quot; [[Generic VI]], created by Aristos Queue. [https://forums.ni.com/t5/LabVIEW-Developers-Feature/Now-available-for-download-quot-Randomize-1D-Array-vi-quot-that/td-p/1159329?profile.language=en Originally published here.]&lt;br /&gt;
&lt;br /&gt;
Note: there were two versions of the VI published; I&#039;m pretty sure this is the second version with its randomness corrected. This VI has additionally been modified in that its block diagram password has been removed. I am not sure whether I still have a copy of the version with the password.&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=File:Randomize_1D_Array_nopass.zip&amp;diff=30271</id>
		<title>File:Randomize 1D Array nopass.zip</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=File:Randomize_1D_Array_nopass.zip&amp;diff=30271"/>
		<updated>2020-09-21T04:08:58Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: The &amp;quot;Randomize 1D Array&amp;quot; Generic VI, created by Aristos Queue. [https://forums.ni.com/t5/LabVIEW-Developers-Feature/Now-available-for-download-quot-Randomize-1D-Array-vi-quot-that/td-p/1159329?profile.language=en Originally published here.]

Note:...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
The &amp;quot;Randomize 1D Array&amp;quot; [[Generic VI]], created by Aristos Queue. [https://forums.ni.com/t5/LabVIEW-Developers-Feature/Now-available-for-download-quot-Randomize-1D-Array-vi-quot-that/td-p/1159329?profile.language=en Originally published here.]&lt;br /&gt;
&lt;br /&gt;
Note: there were two versions of the VI published; I&#039;m pretty sure this is the second version with its randomness corrected. This VI has additionally been modified in that its block diagram password has been removed.&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Control_class/Genericity_property&amp;diff=30270</id>
		<title>Control class/Genericity property</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Control_class/Genericity_property&amp;diff=30270"/>
		<updated>2020-09-21T03:41:27Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: /* Uses */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{VIServerProperty&lt;br /&gt;
| classid = 6&lt;br /&gt;
| propertyid = 633203C&lt;br /&gt;
| scope=private&lt;br /&gt;
| dataname = Genericity&lt;br /&gt;
| shortname = Genericity&lt;br /&gt;
| longname = Genericity&lt;br /&gt;
| datatypeimage = Boolean.png&lt;br /&gt;
| datatype = Boolean&lt;br /&gt;
| propertynodeimage = Control-Genericity.png&lt;br /&gt;
| permissions = Read/Write&lt;br /&gt;
|}}&lt;br /&gt;
{{TOCright}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uses ==&lt;br /&gt;
When True, the control or indicator will change to match the type of whatever data is wired to it, resulting in behavior similar to a [[Malleable VI]]. A VI containing a control or indicator with this property set to True becomes a [[Generic VI]]. &amp;lt;span style=&amp;quot;font-weight:bold;color:red&amp;quot;&amp;gt;Do not use this property. Generic VI&#039;s are an unfinished, abandoned feature of LabVIEW which is liable to cause crashes and corruption. Use a Malleable VI instead.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
{{ambox|text=History information is needed.  What changes have occurred over previous versions?}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Version&lt;br /&gt;
! Change(s)&lt;br /&gt;
|-&lt;br /&gt;
|[[File:LV2018.png|frameless|border|64x64px|LabVIEW 2018|link=LabVIEW 2018]]&lt;br /&gt;
|More info to come.&lt;br /&gt;
|}&lt;br /&gt;
== See Also ==&lt;br /&gt;
{{ambox|text=Add links to internal wiki pages that would also help.}}&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
{{ambox|text=Add links to external resources that would also help.}}&lt;br /&gt;
[[Category:VI Scripting Property]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Private Property]]&lt;br /&gt;
[[Category:VI Server Property]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=VI_class/Is_Generic_property&amp;diff=30269</id>
		<title>VI class/Is Generic property</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=VI_class/Is_Generic_property&amp;diff=30269"/>
		<updated>2020-09-21T03:35:45Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: /* Uses */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{VIServerProperty&lt;br /&gt;
| classid = 2&lt;br /&gt;
| propertyid = 2A3&lt;br /&gt;
| scope=private&lt;br /&gt;
| dataname = IsGeneric&lt;br /&gt;
| shortname = IsGeneric&lt;br /&gt;
| longname = Is Generic&lt;br /&gt;
| datatypeimage = Boolean.png&lt;br /&gt;
| datatype = Boolean&lt;br /&gt;
| propertynodeimage = VI-Is Generic.png&lt;br /&gt;
&lt;br /&gt;
|}}&lt;br /&gt;
{{TOCright}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Uses ==&lt;br /&gt;
True if the VI is a [[Generic VI]].&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
{{ambox|text=History information is needed.  What changes have occurred over previous versions?}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Version&lt;br /&gt;
! Change(s)&lt;br /&gt;
|-&lt;br /&gt;
|[[File:LV2018.png|frameless|border|64x64px|LabVIEW 2018|link=LabVIEW 2018]]&lt;br /&gt;
|More info to come.&lt;br /&gt;
|}&lt;br /&gt;
== See Also ==&lt;br /&gt;
{{ambox|text=Add links to internal wiki pages that would also help.}}&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
{{ambox|text=Add links to external resources that would also help.}}&lt;br /&gt;
[[Category:Private Property]]&lt;br /&gt;
&lt;br /&gt;
[[Category:VI Server Property]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Resource_Container&amp;diff=30268</id>
		<title>Resource Container</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Resource_Container&amp;diff=30268"/>
		<updated>2020-09-20T17:24:49Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: Added BDHT/FPHT/BDHX/FPHX&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Resource Container&#039;&#039;&#039; file format is a most often used file format within LabVIEW ecosystem. It is a proprietary binary format defined by [[National Instruments]] and used in both [[LabVIEW]] and [https://en.wikipedia.org/wiki/LabWindows/CVI LabWindows/CVI]. The format is strongly inspired by [https://en.wikipedia.org/wiki/Resource_fork Mac OS Resource Fork format], as LabVIEW was originally created for that platform, and ported to other OSes later, at [[LabVIEW 2.0|version 2.5]].&lt;br /&gt;
&lt;br /&gt;
The format is a container, storing a group of &#039;&#039;&#039;Resources&#039;&#039;&#039;. Resources have &#039;&#039;&#039;4-character identifier&#039;&#039;&#039; assigned, and the 4-character identifier for the whole container is &#039;&#039;RSRC&#039;&#039;. Most files used by LabVIEW have that &#039;&#039;RSRC&#039;&#039; format, only the specific &#039;&#039;&#039;Resources&#039;&#039;&#039; stored inside are different. The files with that header include [[VI File Extension|&#039;&#039;*.vi&#039;&#039;]], [[CTL File Extension|&#039;&#039;*.ctl&#039;&#039;]], [[MNU File Extension|&#039;&#039;*.mnu&#039;&#039;]], [[LLB File Extension|&#039;&#039;*.llb&#039;&#039;]], [[DLOG File Extension|&#039;&#039;*.dlog&#039;&#039;]], [[CTT File Extension|&#039;&#039;*.ctt&#039;&#039;]], [[VIT File Extension|&#039;&#039;*.vit&#039;&#039;]], [[UIR File Extension|&#039;&#039;*.uir&#039;&#039;]], and many  created with, or internally used by, LabVIEW.&lt;br /&gt;
&lt;br /&gt;
The resources stored within have their identifiers often identical to those in &#039;&#039;Resource fork&#039;&#039; format, but many new ones are also introduced. Some resources have multiple variations, as their structure changed between versions of [[LabVIEW]].&lt;br /&gt;
&lt;br /&gt;
==Known Resources==&lt;br /&gt;
&lt;br /&gt;
Below a few resources are listed. Note that the text names given for them are mostly informed guesses.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Resource ID&lt;br /&gt;
! Long Name&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|MUID&lt;br /&gt;
|Map Unique Identifier&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FPSE&lt;br /&gt;
|Front Panel Size Estimate&lt;br /&gt;
|Optional resource which can be used to optimize memory allocation when loading the VI file. Contains one integer value, which seem be amount of tags within Front Panel Heap divided by 10. See also: &#039;&#039;BDSE&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|FPTD&lt;br /&gt;
|Front Panel Type for DataLog&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BDSE&lt;br /&gt;
|Block Diagram Size Estimate&lt;br /&gt;
|Optional resource which can be used to optimize memory allocation when loading the VI file. Contains one integer value, which seem be amount of tags within Block Diagram Heap divided by 10. See also: &#039;&#039;FPSE&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|FLAG&lt;br /&gt;
|Integer flags&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CONP&lt;br /&gt;
|Connector Port Type Map&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPTM&lt;br /&gt;
|Connector Port Type Map&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPC2&lt;br /&gt;
|Connector Port Content Type v2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPCT&lt;br /&gt;
|Connector Port Content Type&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPD2&lt;br /&gt;
|Connector Port DI v2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPDI&lt;br /&gt;
|Connector Port DI&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DLGH&lt;br /&gt;
|Dialog HTML&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ERRH&lt;br /&gt;
|Error HTML&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HLPT&lt;br /&gt;
|Help Tag&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|MItm&lt;br /&gt;
|M. Item&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|NODH&lt;br /&gt;
|NOD HTML&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|NOEG&lt;br /&gt;
|NOEG String&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|STRG&lt;br /&gt;
|String description&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TITL&lt;br /&gt;
|Title of the file&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|STR&lt;br /&gt;
|Short String / Input definition?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPST&lt;br /&gt;
|C. P. Strings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DNm#&lt;br /&gt;
|D. Name Strings List&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HDb#&lt;br /&gt;
|Help Database item&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LST#&lt;br /&gt;
|Short Strings List&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|STR#&lt;br /&gt;
|Short Strings List&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FDFL&lt;br /&gt;
|FDFL Strings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIfp&lt;br /&gt;
|LinkObj Refs for Front Panel&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIbd&lt;br /&gt;
|LinkObj Refs for Block diagram&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIds&lt;br /&gt;
|LinkObj Refs for Data Space&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIvi&lt;br /&gt;
|LinkObj Refs for VI&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DFDS&lt;br /&gt;
|Default Fill of Data Space&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|GCDI&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BFAL&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CGRS&lt;br /&gt;
|Conglomerate Resource&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPMp&lt;br /&gt;
|Connection Points Map&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DLDR&lt;br /&gt;
|DL Data Record&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DLLP&lt;br /&gt;
|DL Local Path&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FTAB&lt;br /&gt;
|Font Table&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HIST&lt;br /&gt;
|Changes History&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HLPP&lt;br /&gt;
|Help Path&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LPTH&lt;br /&gt;
|L. Path&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HLPW&lt;br /&gt;
|Help Website URL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|SCSR&lt;br /&gt;
|Syntax Checker Digest&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DTHP&lt;br /&gt;
|Data Types for Heap&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DSTM&lt;br /&gt;
|Data Space Type Map&lt;br /&gt;
|Stores table of [[Type descriptor|Type descriptors]] which make up [[Data Space]] of the VI file. Used in LV 7.1 and older.&lt;br /&gt;
|-&lt;br /&gt;
|TM80&lt;br /&gt;
|Data Space Type Map LV8.0+&lt;br /&gt;
|Stores table of references to [[Type descriptor|Type descriptors]] which make up [[Data Space]] of the [[VI|VI file]]. The actual definitions of &#039;&#039;&#039;TD&#039;&#039;&#039;s are stored in &#039;&#039;VCTP&#039;&#039; block. Used in [[LabVIEW 8|LV 8.0]] and newer.&lt;br /&gt;
|-&lt;br /&gt;
|LVIN&lt;br /&gt;
|LabView Instrument&lt;br /&gt;
|General information about a saved [[VI|VI file]]; definitely used in [[LabVIEW 4.0|LV 4.0]] and older, was replaced by &#039;&#039;LVSR&#039;&#039; at some point.&lt;br /&gt;
|-&lt;br /&gt;
|LVSR&lt;br /&gt;
|LabView Save Record&lt;br /&gt;
|General information about a saved [[VI|VI file]]; replaced &#039;&#039;LVIN&#039;&#039; resource somewhere before [[LabVIEW 6i|LV 6.0]]. The size of this resource increases with [[LabVIEW Versions|LV version]], but old data is always kept at the same offset (new fields are only added at end).&lt;br /&gt;
|-&lt;br /&gt;
|vers&lt;br /&gt;
|Version block&lt;br /&gt;
|Stores version of LV used to create the RSRC file.&lt;br /&gt;
|-&lt;br /&gt;
|PNGI&lt;br /&gt;
|PNG Image&lt;br /&gt;
|Stores a bitmap picture in [https://en.wikipedia.org/wiki/Portable_Network_Graphics PNG format].&lt;br /&gt;
|-&lt;br /&gt;
|MNGI&lt;br /&gt;
|MNG Image&lt;br /&gt;
|While PNGs become quite popular, their animated counterpart, [https://en.wikipedia.org/wiki/Multiple-image_Network_Graphics MNG format], never really caught on.&lt;br /&gt;
|-&lt;br /&gt;
|ICON&lt;br /&gt;
|Icon 32x32 1bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ICN#&lt;br /&gt;
|Icon Large Double 32x64 1bpp&lt;br /&gt;
|Usually used to store one icon in two versions (ie. disabled and active).&lt;br /&gt;
|-&lt;br /&gt;
|ics#&lt;br /&gt;
|Icon Small 16x16 1bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CURS&lt;br /&gt;
|Cursor 16x34 1bpp&lt;br /&gt;
|Usually used to store one cursor in two versions (ie. disabled and active).&lt;br /&gt;
|-&lt;br /&gt;
|ics4&lt;br /&gt;
|Icon Small 16x16 4bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|icl4&lt;br /&gt;
|Icon Large 32x32 4bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ics8&lt;br /&gt;
|Icon Small 16x16 8bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|icl8&lt;br /&gt;
|Icon Large 32x32 8bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BDPW&lt;br /&gt;
|Block Diagram Password&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIBN&lt;br /&gt;
|Library Names&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LVzp&lt;br /&gt;
|LabView Zipped Program tree&lt;br /&gt;
|A whole application compressed to ZIP file.&lt;br /&gt;
|-&lt;br /&gt;
|PRT&lt;br /&gt;
|Print settings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BNID&lt;br /&gt;
|B. N. Identifier&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CNST&lt;br /&gt;
|Constant Node UID set&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LPIN&lt;br /&gt;
|Loop Invariant Node UID set&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|NUID&lt;br /&gt;
|N. U. Identifier&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|SUID&lt;br /&gt;
|S. U. Identifier&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|VPDP&lt;br /&gt;
|VI Primitive Dependency Flags&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BDHP&lt;br /&gt;
|Block Diagram Heap&lt;br /&gt;
|First version of [[Heap storage format]], used to store components placed on Block Diagram.&lt;br /&gt;
|-&lt;br /&gt;
|FPHP&lt;br /&gt;
|Front Panel Heap&lt;br /&gt;
|First version of [[Heap storage format]], used to store components placed on Front Panel.&lt;br /&gt;
|-&lt;br /&gt;
|BDHb&lt;br /&gt;
|Block Diagram Heap ver b&lt;br /&gt;
|Second version of [[Heap storage format]], used to store components placed on Block Diagram.&lt;br /&gt;
|-&lt;br /&gt;
|FPHb&lt;br /&gt;
|Front Panel Heap ver b&lt;br /&gt;
|Second version of [[Heap storage format]], used to store components placed on Front Panel.&lt;br /&gt;
|-&lt;br /&gt;
|BDHc&lt;br /&gt;
|Block Diagram Heap ver c&lt;br /&gt;
|Third version of [[Heap storage format]], used to store components placed on Block Diagram.&lt;br /&gt;
|-&lt;br /&gt;
|FPHc&lt;br /&gt;
|Front Panel Heap ver c&lt;br /&gt;
|Third version of [[Heap storage format]], used to store components placed on Front Panel.&lt;br /&gt;
|-&lt;br /&gt;
|BDHT&lt;br /&gt;
|Block Diagram Heap Text&lt;br /&gt;
|Used when [[Heap storage format]] is set to Verbose Tagged Text.&lt;br /&gt;
|-&lt;br /&gt;
|FPHT&lt;br /&gt;
|Front Panel Heap Text&lt;br /&gt;
|Used when [[Heap storage format]] is set to Verbose Tagged Text.&lt;br /&gt;
|-&lt;br /&gt;
|BDHX&lt;br /&gt;
|Block Diagram Heap XML&lt;br /&gt;
|Used when [[Heap storage format]] is set to XML.&lt;br /&gt;
|-&lt;br /&gt;
|FPHX&lt;br /&gt;
|Front Panel Heap XML&lt;br /&gt;
|Used when [[Heap storage format]] is set to XML.&lt;br /&gt;
|-&lt;br /&gt;
|RTSG&lt;br /&gt;
|Runtime Signature Guid&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|GCPR&lt;br /&gt;
|Generated Code Profiler settings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|UCRF&lt;br /&gt;
|Uncompressed Resource File&lt;br /&gt;
|Used when files are added to &#039;&#039;RSRC&#039;&#039;, ie. within &#039;&#039;*.llb&#039;&#039; files.&lt;br /&gt;
|-&lt;br /&gt;
|CPRF&lt;br /&gt;
|&#039;Comp&#039; Compressed Resource File&lt;br /&gt;
|Used when files are added to &#039;&#039;RSRC&#039;&#039;; very basic mask based compression.&lt;br /&gt;
|-&lt;br /&gt;
|ZCRF&lt;br /&gt;
|ZLib Compressed Resource File&lt;br /&gt;
|Used when files are added to &#039;&#039;RSRC&#039;&#039;; uses compression algorithm from popular Z-Lib library.&lt;br /&gt;
|-&lt;br /&gt;
|DLG3&lt;br /&gt;
|Dialog Resource File&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|VCTP&lt;br /&gt;
|VI Consolidated Data Types&lt;br /&gt;
|Introduced in LV 8.0, stores all [[Type descriptor|Type descriptors]] used within the file.&lt;br /&gt;
|-&lt;br /&gt;
|VICD&lt;br /&gt;
|Virtual Instrument Compiled Data / VI Code&lt;br /&gt;
|Contains the machine code generated by LLVM compiler.&lt;br /&gt;
|-&lt;br /&gt;
|VITS&lt;br /&gt;
|Virtual Instrument Tag Strings&lt;br /&gt;
|This section is responsible for the &amp;quot;operator overloading&amp;quot; effect that the built-in matrix typedefs have. Copying it from RealMatrix.ctl to a new typedef, and then wiring an instance of that new typedef to an Add node, causes the Add node to become its matrix variant, as occurs with the matrix typedef. This section is most likely used for other purposes as well.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:LabVIEW file extensions|other files]]&lt;br /&gt;
[[Category:LabVIEW internals]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Resource_Container&amp;diff=30267</id>
		<title>Resource Container</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Resource_Container&amp;diff=30267"/>
		<updated>2020-09-20T17:19:52Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: /* Known Resources */ Added an observed effect of VITS (operator overloading)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Resource Container&#039;&#039;&#039; file format is a most often used file format within LabVIEW ecosystem. It is a proprietary binary format defined by [[National Instruments]] and used in both [[LabVIEW]] and [https://en.wikipedia.org/wiki/LabWindows/CVI LabWindows/CVI]. The format is strongly inspired by [https://en.wikipedia.org/wiki/Resource_fork Mac OS Resource Fork format], as LabVIEW was originally created for that platform, and ported to other OSes later, at [[LabVIEW 2.0|version 2.5]].&lt;br /&gt;
&lt;br /&gt;
The format is a container, storing a group of &#039;&#039;&#039;Resources&#039;&#039;&#039;. Resources have &#039;&#039;&#039;4-character identifier&#039;&#039;&#039; assigned, and the 4-character identifier for the whole container is &#039;&#039;RSRC&#039;&#039;. Most files used by LabVIEW have that &#039;&#039;RSRC&#039;&#039; format, only the specific &#039;&#039;&#039;Resources&#039;&#039;&#039; stored inside are different. The files with that header include [[VI File Extension|&#039;&#039;*.vi&#039;&#039;]], [[CTL File Extension|&#039;&#039;*.ctl&#039;&#039;]], [[MNU File Extension|&#039;&#039;*.mnu&#039;&#039;]], [[LLB File Extension|&#039;&#039;*.llb&#039;&#039;]], [[DLOG File Extension|&#039;&#039;*.dlog&#039;&#039;]], [[CTT File Extension|&#039;&#039;*.ctt&#039;&#039;]], [[VIT File Extension|&#039;&#039;*.vit&#039;&#039;]], [[UIR File Extension|&#039;&#039;*.uir&#039;&#039;]], and many  created with, or internally used by, LabVIEW.&lt;br /&gt;
&lt;br /&gt;
The resources stored within have their identifiers often identical to those in &#039;&#039;Resource fork&#039;&#039; format, but many new ones are also introduced. Some resources have multiple variations, as their structure changed between versions of [[LabVIEW]].&lt;br /&gt;
&lt;br /&gt;
==Known Resources==&lt;br /&gt;
&lt;br /&gt;
Below a few resources are listed. Note that the text names given for them are mostly informed guesses.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Resource ID&lt;br /&gt;
! Long Name&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|MUID&lt;br /&gt;
|Map Unique Identifier&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FPSE&lt;br /&gt;
|Front Panel Size Estimate&lt;br /&gt;
|Optional resource which can be used to optimize memory allocation when loading the VI file. Contains one integer value, which seem be amount of tags within Front Panel Heap divided by 10. See also: &#039;&#039;BDSE&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|FPTD&lt;br /&gt;
|Front Panel Type for DataLog&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BDSE&lt;br /&gt;
|Block Diagram Size Estimate&lt;br /&gt;
|Optional resource which can be used to optimize memory allocation when loading the VI file. Contains one integer value, which seem be amount of tags within Block Diagram Heap divided by 10. See also: &#039;&#039;FPSE&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|FLAG&lt;br /&gt;
|Integer flags&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CONP&lt;br /&gt;
|Connector Port Type Map&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPTM&lt;br /&gt;
|Connector Port Type Map&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPC2&lt;br /&gt;
|Connector Port Content Type v2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPCT&lt;br /&gt;
|Connector Port Content Type&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPD2&lt;br /&gt;
|Connector Port DI v2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPDI&lt;br /&gt;
|Connector Port DI&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DLGH&lt;br /&gt;
|Dialog HTML&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ERRH&lt;br /&gt;
|Error HTML&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HLPT&lt;br /&gt;
|Help Tag&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|MItm&lt;br /&gt;
|M. Item&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|NODH&lt;br /&gt;
|NOD HTML&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|NOEG&lt;br /&gt;
|NOEG String&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|STRG&lt;br /&gt;
|String description&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TITL&lt;br /&gt;
|Title of the file&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|STR&lt;br /&gt;
|Short String / Input definition?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPST&lt;br /&gt;
|C. P. Strings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DNm#&lt;br /&gt;
|D. Name Strings List&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HDb#&lt;br /&gt;
|Help Database item&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LST#&lt;br /&gt;
|Short Strings List&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|STR#&lt;br /&gt;
|Short Strings List&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FDFL&lt;br /&gt;
|FDFL Strings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIfp&lt;br /&gt;
|LinkObj Refs for Front Panel&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIbd&lt;br /&gt;
|LinkObj Refs for Block diagram&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIds&lt;br /&gt;
|LinkObj Refs for Data Space&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIvi&lt;br /&gt;
|LinkObj Refs for VI&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DFDS&lt;br /&gt;
|Default Fill of Data Space&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|GCDI&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BFAL&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CGRS&lt;br /&gt;
|Conglomerate Resource&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CPMp&lt;br /&gt;
|Connection Points Map&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DLDR&lt;br /&gt;
|DL Data Record&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DLLP&lt;br /&gt;
|DL Local Path&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FTAB&lt;br /&gt;
|Font Table&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HIST&lt;br /&gt;
|Changes History&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HLPP&lt;br /&gt;
|Help Path&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LPTH&lt;br /&gt;
|L. Path&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|HLPW&lt;br /&gt;
|Help Website URL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|SCSR&lt;br /&gt;
|Syntax Checker Digest&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DTHP&lt;br /&gt;
|Data Types for Heap&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DSTM&lt;br /&gt;
|Data Space Type Map&lt;br /&gt;
|Stores table of [[Type descriptor|Type descriptors]] which make up [[Data Space]] of the VI file. Used in LV 7.1 and older.&lt;br /&gt;
|-&lt;br /&gt;
|TM80&lt;br /&gt;
|Data Space Type Map LV8.0+&lt;br /&gt;
|Stores table of references to [[Type descriptor|Type descriptors]] which make up [[Data Space]] of the [[VI|VI file]]. The actual definitions of &#039;&#039;&#039;TD&#039;&#039;&#039;s are stored in &#039;&#039;VCTP&#039;&#039; block. Used in [[LabVIEW 8|LV 8.0]] and newer.&lt;br /&gt;
|-&lt;br /&gt;
|LVIN&lt;br /&gt;
|LabView Instrument&lt;br /&gt;
|General information about a saved [[VI|VI file]]; definitely used in [[LabVIEW 4.0|LV 4.0]] and older, was replaced by &#039;&#039;LVSR&#039;&#039; at some point.&lt;br /&gt;
|-&lt;br /&gt;
|LVSR&lt;br /&gt;
|LabView Save Record&lt;br /&gt;
|General information about a saved [[VI|VI file]]; replaced &#039;&#039;LVIN&#039;&#039; resource somewhere before [[LabVIEW 6i|LV 6.0]]. The size of this resource increases with [[LabVIEW Versions|LV version]], but old data is always kept at the same offset (new fields are only added at end).&lt;br /&gt;
|-&lt;br /&gt;
|vers&lt;br /&gt;
|Version block&lt;br /&gt;
|Stores version of LV used to create the RSRC file.&lt;br /&gt;
|-&lt;br /&gt;
|PNGI&lt;br /&gt;
|PNG Image&lt;br /&gt;
|Stores a bitmap picture in [https://en.wikipedia.org/wiki/Portable_Network_Graphics PNG format].&lt;br /&gt;
|-&lt;br /&gt;
|MNGI&lt;br /&gt;
|MNG Image&lt;br /&gt;
|While PNGs become quite popular, their animated counterpart, [https://en.wikipedia.org/wiki/Multiple-image_Network_Graphics MNG format], never really caught on.&lt;br /&gt;
|-&lt;br /&gt;
|ICON&lt;br /&gt;
|Icon 32x32 1bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ICN#&lt;br /&gt;
|Icon Large Double 32x64 1bpp&lt;br /&gt;
|Usually used to store one icon in two versions (ie. disabled and active).&lt;br /&gt;
|-&lt;br /&gt;
|ics#&lt;br /&gt;
|Icon Small 16x16 1bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CURS&lt;br /&gt;
|Cursor 16x34 1bpp&lt;br /&gt;
|Usually used to store one cursor in two versions (ie. disabled and active).&lt;br /&gt;
|-&lt;br /&gt;
|ics4&lt;br /&gt;
|Icon Small 16x16 4bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|icl4&lt;br /&gt;
|Icon Large 32x32 4bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ics8&lt;br /&gt;
|Icon Small 16x16 8bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|icl8&lt;br /&gt;
|Icon Large 32x32 8bpp&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BDPW&lt;br /&gt;
|Block Diagram Password&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LIBN&lt;br /&gt;
|Library Names&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LVzp&lt;br /&gt;
|LabView Zipped Program tree&lt;br /&gt;
|A whole application compressed to ZIP file.&lt;br /&gt;
|-&lt;br /&gt;
|PRT&lt;br /&gt;
|Print settings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BNID&lt;br /&gt;
|B. N. Identifier&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CNST&lt;br /&gt;
|Constant Node UID set&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|LPIN&lt;br /&gt;
|Loop Invariant Node UID set&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|NUID&lt;br /&gt;
|N. U. Identifier&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|SUID&lt;br /&gt;
|S. U. Identifier&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|VPDP&lt;br /&gt;
|VI Primitive Dependency Flags&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|BDHP&lt;br /&gt;
|Block Diagram Heap&lt;br /&gt;
|First version of [[Heap storage format]], used to store components placed on Block Diagram.&lt;br /&gt;
|-&lt;br /&gt;
|FPHP&lt;br /&gt;
|Front Panel Heap&lt;br /&gt;
|First version of [[Heap storage format]], used to store components placed on Front Panel.&lt;br /&gt;
|-&lt;br /&gt;
|BDHb&lt;br /&gt;
|Block Diagram Heap ver b&lt;br /&gt;
|Second version of [[Heap storage format]], used to store components placed on Block Diagram.&lt;br /&gt;
|-&lt;br /&gt;
|FPHb&lt;br /&gt;
|Front Panel Heap ver b&lt;br /&gt;
|Second version of [[Heap storage format]], used to store components placed on Front Panel.&lt;br /&gt;
|-&lt;br /&gt;
|BDHc&lt;br /&gt;
|Block Diagram Heap ver c&lt;br /&gt;
|Third version of [[Heap storage format]], used to store components placed on Block Diagram.&lt;br /&gt;
|-&lt;br /&gt;
|FPHc&lt;br /&gt;
|Front Panel Heap ver c&lt;br /&gt;
|Third version of [[Heap storage format]], used to store components placed on Front Panel.&lt;br /&gt;
|-&lt;br /&gt;
|RTSG&lt;br /&gt;
|Runtime Signature Guid&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|GCPR&lt;br /&gt;
|Generated Code Profiler settings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|UCRF&lt;br /&gt;
|Uncompressed Resource File&lt;br /&gt;
|Used when files are added to &#039;&#039;RSRC&#039;&#039;, ie. within &#039;&#039;*.llb&#039;&#039; files.&lt;br /&gt;
|-&lt;br /&gt;
|CPRF&lt;br /&gt;
|&#039;Comp&#039; Compressed Resource File&lt;br /&gt;
|Used when files are added to &#039;&#039;RSRC&#039;&#039;; very basic mask based compression.&lt;br /&gt;
|-&lt;br /&gt;
|ZCRF&lt;br /&gt;
|ZLib Compressed Resource File&lt;br /&gt;
|Used when files are added to &#039;&#039;RSRC&#039;&#039;; uses compression algorithm from popular Z-Lib library.&lt;br /&gt;
|-&lt;br /&gt;
|DLG3&lt;br /&gt;
|Dialog Resource File&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|VCTP&lt;br /&gt;
|VI Consolidated Data Types&lt;br /&gt;
|Introduced in LV 8.0, stores all [[Type descriptor|Type descriptors]] used within the file.&lt;br /&gt;
|-&lt;br /&gt;
|VICD&lt;br /&gt;
|Virtual Instrument Compiled Data / VI Code&lt;br /&gt;
|Contains the machine code generated by LLVM compiler.&lt;br /&gt;
|-&lt;br /&gt;
|VITS&lt;br /&gt;
|Virtual Instrument Tag Strings&lt;br /&gt;
|This section is responsible for the &amp;quot;operator overloading&amp;quot; effect that the built-in matrix typedefs have. Copying it from RealMatrix.ctl to a new typedef, and then wiring an instance of that new typedef to an Add node, causes the Add node to become its matrix variant, as occurs with the matrix typedef. This section is most likely used for other purposes as well.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:LabVIEW file extensions|other files]]&lt;br /&gt;
[[Category:LabVIEW internals]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Project_Provider_Framework&amp;diff=5412</id>
		<title>Project Provider Framework</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Project_Provider_Framework&amp;diff=5412"/>
		<updated>2014-10-01T02:40:55Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Project Provider Framework is a semi-NI-internal API used to extend LabVIEW in various ways, mostly relating to the project interface. In order to create plugins for this framework, you need to create an INI file in &#039;&#039;(your LabVIEW installation directory)&#039;&#039;/resource/Framework/Providers/GProviders, and said INI file needs to be signed, presumably by NI or an approved developer for the framework. The method by which this signature (actually a checksum, as there is no separate private key) is calculated has been reverse-engineered, however. Until more information about this framework has been publicly documented, this page shall serve as an explanation on the signature&#039;s calculation. (See the bottom of this page for a link to a tool that automatically calculates the required signature.)&lt;br /&gt;
&lt;br /&gt;
First, take the &#039;&#039;values&#039;&#039; (not the keys) in the INI file in order, and concatenate them. Only include the values for keys in this list (rule of thumb: string values, not Boolean or numeric values, and don&#039;t include the Signature key of course):&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;InterfaceVersion&amp;quot;&lt;br /&gt;
* &amp;quot;LicenseRestrictions&amp;quot;&lt;br /&gt;
* &amp;quot;LicenseVersion&amp;quot;&lt;br /&gt;
* &amp;quot;LicenseName&amp;quot;&lt;br /&gt;
* &amp;quot;Alias&amp;quot;&lt;br /&gt;
* &amp;quot;SupportedType&amp;quot;&lt;br /&gt;
* &amp;quot;SupportedInterface&amp;quot;&lt;br /&gt;
* &amp;quot;CreateNewWizardHost&amp;quot;&lt;br /&gt;
* &amp;quot;BuildInterfaceVI&amp;quot;&lt;br /&gt;
* &amp;quot;DeployInterfaceVI&amp;quot;&lt;br /&gt;
* &amp;quot;SourceControlInterfaceVI&amp;quot;&lt;br /&gt;
* &amp;quot;CreateNewWizardInterfaceVI&amp;quot;&lt;br /&gt;
* &amp;quot;GlobalItemInterfaceVI&amp;quot;&lt;br /&gt;
* &amp;quot;ProviderInterfaceVI&amp;quot;&lt;br /&gt;
* &amp;quot;ItemInterfaceVI&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Do not include spaces or any other types of delimiters between values in the concatenated string. Take the MD5 hash of this string, and apply the following substitution cipher to each of the digits:&lt;br /&gt;
&lt;br /&gt;
 Change: 0123456789ABCDEF&lt;br /&gt;
     To: T3C5K7W9SBNRJLX2&lt;br /&gt;
&lt;br /&gt;
Finally, for each pair of two consecutive digits, switch them. For example, CRTTR3X7 would become RCTT3R7X. You now have your signature!&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [http://lavag.org/topic/18545-i-have-taken-the-first-step-towards-unofficially-opening-up-the-project-provider-framework/ Forum post announcing the discovery of the algorithm]&lt;br /&gt;
* [http://lavag.org/index.php?app=core&amp;amp;module=attach&amp;amp;section=attach&amp;amp;attach_id=9546 Open-source tool to automatically sign an INI file]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Project_Provider_Framework&amp;diff=5411</id>
		<title>Project Provider Framework</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Project_Provider_Framework&amp;diff=5411"/>
		<updated>2014-10-01T02:35:37Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: Created page with &amp;quot;The Project Provider Framework is a semi-NI-internal API used to extend LabVIEW in various ways, mostly relating to the project interface. In order to create plugins for this fra...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Project Provider Framework is a semi-NI-internal API used to extend LabVIEW in various ways, mostly relating to the project interface. In order to create plugins for this framework, you need to create an INI file in &#039;&#039;(your LabVIEW installation directory)&#039;&#039;/resource/Framework/Providers/GProviders, and said INI file needs to be signed, presumably by NI or an approved developer for the framework. The method by which this signature (actually a checksum, as there is no separate private key) is calculated has been reverse-engineered, however. Until more information about this framework has been publicly documented, this page shall serve as an explanation on the signature&#039;s calculation. (See the bottom of this page for a link to a tool that automatically calculates the required signature.)&lt;br /&gt;
&lt;br /&gt;
First, take the &#039;&#039;values&#039;&#039; (not the keys) in the INI file in order, and concatenate them. Only include the values for keys in this list (rule of thumb: string values, not Boolean or numeric values, and don&#039;t include the Signature key of course):&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;InterfaceVersion&amp;quot;&lt;br /&gt;
* &amp;quot;LicenseRestrictions&amp;quot;&lt;br /&gt;
* &amp;quot;LicenseVersion&amp;quot;&lt;br /&gt;
* &amp;quot;LicenseName&amp;quot;&lt;br /&gt;
* &amp;quot;Alias&amp;quot;&lt;br /&gt;
* &amp;quot;SupportedType&amp;quot;&lt;br /&gt;
* &amp;quot;SupportedInterface&amp;quot;&lt;br /&gt;
* &amp;quot;CreateNewWizardHost&amp;quot;&lt;br /&gt;
* &amp;quot;BuildInterfaceVI&amp;quot;&lt;br /&gt;
* &amp;quot;DeployInterfaceVI&amp;quot;&lt;br /&gt;
* &amp;quot;SourceControlInterfaceVI&amp;quot;&lt;br /&gt;
* &amp;quot;CreateNewWizardInterfaceVI&amp;quot;&lt;br /&gt;
* &amp;quot;GlobalItemInterfaceVI&amp;quot;&lt;br /&gt;
* &amp;quot;ProviderInterfaceVI&amp;quot;&lt;br /&gt;
* &amp;quot;ItemInterfaceVI&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Do not include spaces or any other types of delimiters between values in the concatenated string. Take the MD5 hash of this string, and apply the following substitution cipher to each of the digits:&lt;br /&gt;
&lt;br /&gt;
 Change: 0123456789ABCDEF&lt;br /&gt;
     To: T3C5K7W9SBNRJLX2&lt;br /&gt;
&lt;br /&gt;
Finally, for each pair of two consecutive digits, switch them. For example, CRTTR357 would become RCTT3R75. You now have your signature!&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [http://lavag.org/topic/18545-i-have-taken-the-first-step-towards-unofficially-opening-up-the-project-provider-framework/ Forum post announcing the discovery of the algorithm]&lt;br /&gt;
* [http://lavag.org/index.php?app=core&amp;amp;module=attach&amp;amp;section=attach&amp;amp;attach_id=9546 Open-source tool to automatically sign an INI file]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Talk:Numeric&amp;diff=5410</id>
		<title>Talk:Numeric</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Talk:Numeric&amp;diff=5410"/>
		<updated>2014-09-09T06:05:16Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: Created page with &amp;quot;==Nobody remembers the value?== I know it by heart, at least for I32. 2,147,483,647. ~~~~&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Nobody remembers the value?==&lt;br /&gt;
I know it by heart, at least for I32. 2,147,483,647. [[User:Flarn2006|Flarn2006]] 02:05, 9 September 2014 (EDT)&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=LabVIEW_configuration_file/Miscellaneous&amp;diff=5409</id>
		<title>LabVIEW configuration file/Miscellaneous</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=LabVIEW_configuration_file/Miscellaneous&amp;diff=5409"/>
		<updated>2014-09-02T05:13:55Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of Miscellaneous LabVIEW ini File settings. {{TOCright}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = BldApp.RemovePolyVIsandTypedefs&lt;br /&gt;
| example =BldApp.RemovePolyVIsandTypedefs=FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Setting this to &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt; stops the LabVIEW Application Builder from aggressively removing polymorphic VIs and typedefs that it thinks are not required&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =TRUE&lt;br /&gt;
| LV1 = 7&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =By default, the LabVIEW 7.x Application Builder does not include type definitions and unused instances of polymorphic VIs into executable in order to decrease size of application. This setting can be changed in the LabVIEW 7.1 applciation Builder in the Application Settings page.&lt;br /&gt;
If a VI in your build calls an external VI that uses a type definition in order to pass parameters, and the AppBuilder is unaware of this external VI, it will end in tears.&lt;br /&gt;
Also there is one other issue which makes this setting very important. In LabVIEW 7.x, by disconnecting typedefs from controls they did loose their default data and return to LabVIEWs default default data. This could be a major problem if you used strict typedefed clusters on front panels to provide certain default data when unwired and those default data did not match LabVIEWs default default data. This has been mostly fixed in newer LabVIEW versions from 8.0 on.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = coerceFromVariant&lt;br /&gt;
| example =coerceFromVariant=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Force variants to automatically coerce to any data type that they are connected to&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 7&lt;br /&gt;
| LV2 = 8&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =Tread carefully, as using this function removes coercion notification, and does not use error handling&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = cleanupVisa&lt;br /&gt;
| example =cleanupVisa=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Automatically close VISA sessions - do not require the use of the &#039;&#039;VISA Close&#039;&#039; VI&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 5&lt;br /&gt;
| LV2 = 6&lt;br /&gt;
| LV3 = 7&lt;br /&gt;
| LV4 = 8&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = defaultConPane&lt;br /&gt;
| example = defaultConPane=4833&lt;br /&gt;
| datatype = I32&lt;br /&gt;
| description = Sets the default [[Connector pane]] layout for new VIs&lt;br /&gt;
| permitted_values =&lt;br /&gt;
| default = (4815)&lt;br /&gt;
| LV1 = 8.x&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 = w&lt;br /&gt;
| OS2 = m&lt;br /&gt;
| OS3 = l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes = Source: NI Knowledge Base&lt;br /&gt;
( http://digital.ni.com/public.nsf/allkb/279F064F0688C114862570900057678C )&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = dropThroughClicks&lt;br /&gt;
| example =dropThroughClicks=FALSE&lt;br /&gt;
| datatype = i&lt;br /&gt;
| description =Allow drop-through clicks&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =TRUE&lt;br /&gt;
| LV1 = 4&lt;br /&gt;
| LV2 = 5&lt;br /&gt;
| LV3 = 6&lt;br /&gt;
| LV4 = 7&lt;br /&gt;
| LV5 = 8&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = ExternalNodesEnabled&lt;br /&gt;
| example =ExternalNodesEnabled=FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Enables use of [[External Nodes]]&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =6.x?, 7.x: TRUE  8.x: FALSE&lt;br /&gt;
| LV1 = 6.x?&lt;br /&gt;
| LV2 = 7&lt;br /&gt;
| LV3 = 8&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = ExternalNodeDebugging&lt;br /&gt;
| example =ExternalNodeDebugging=FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Shows External Nodes for what they are: sequence diagrams&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 7&lt;br /&gt;
| LV2 = 8&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = GenericsAreGo&lt;br /&gt;
| example = GenericsAreGo=TRUE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = Adds a context-menu item to controls and indicators labeled &amp;quot;Generic&amp;quot;. This activates an abandoned feature in LabVIEW enabling the creation of &amp;quot;Generic VIs&amp;quot;. If a control marked &amp;quot;generic&amp;quot; is connected to a VI&#039;s connector pane, it will automatically change to whatever type is wired to it, and an indicator marked &amp;quot;generic&amp;quot; shows similar behavior with its block diagram terminal. This enables the creation of VI&#039;s that can work with literally any type, without needing to use polymorphic VI&#039;s. This sounds like it would be useful, &#039;&#039;&#039;HOWEVER, you should only use this if you only want to experiment with unreleased features. NI staff have warned against using this in any kind of production code, as it is very buggy, abandoned for a reason, and can corrupt VI&#039;s.&#039;&#039;&#039;&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
| LV1 = 2014&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 = w&lt;br /&gt;
| OS2 = m&lt;br /&gt;
| OS3 = l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes = None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = hotMenus&lt;br /&gt;
| example =hotMenus=FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Use hot menus&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =TRUE&lt;br /&gt;
| LV1 = 4&lt;br /&gt;
| LV2 = 5&lt;br /&gt;
| LV3 = 6&lt;br /&gt;
| LV4 = 7&lt;br /&gt;
| LV5 = 8&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = MaxHelpDescLength&lt;br /&gt;
| example =MaxHelpDescLength=8000&lt;br /&gt;
| datatype =i&lt;br /&gt;
| description =Maximum number of characters that will be displayed before truncation in the Context Help&lt;br /&gt;
| default =8000&lt;br /&gt;
| LV1 = 8&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =If set to a non-positive number, then there will be no max. If set to 50 or less, then 50 will be the max&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = MRUFolders&lt;br /&gt;
| example = MRUFolders=TRUE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = MRUFolders:Most recently used folders. Every time you select a file in a file dialog in LabVIEW, that location (folder) becomes the new top item in the location area (left side of the dialog) of the Windows file dialog.&lt;br /&gt;
| permitted_values = TRUE, FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
| LV1 = 8.2&lt;br /&gt;
| OS1 = w&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = openInRun&lt;br /&gt;
| example =openInRun=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =When opening VIs in the development environment, open them in &#039;&#039;run mode&#039;&#039;&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 3&lt;br /&gt;
| LV2 = 4&lt;br /&gt;
| LV3 = 5&lt;br /&gt;
| LV4 = 6&lt;br /&gt;
| LV5 = 7&lt;br /&gt;
| LV6 = 8&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = readOnlyLock&lt;br /&gt;
| example =readOnlyLock=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Treat read-only VIs as locked&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 5&lt;br /&gt;
| LV2 = 6&lt;br /&gt;
| LV3 = 7&lt;br /&gt;
| LV4 = 8&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =It is important to set this to &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt; when using source code control outside of the LabVIEW environment, so LabVIEW will not allow a VI that is not checked out to the user to be edited&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = showBDConstName&lt;br /&gt;
| example =showBDConstName=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Show auto-constant labels&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 4&lt;br /&gt;
| LV2 = 5&lt;br /&gt;
| LV3 = 6&lt;br /&gt;
| LV4 = 7&lt;br /&gt;
| LV5 = 8&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = showNoNavDialog&lt;br /&gt;
| example =showNoNavDialog=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Prevents the &amp;quot;Getting Started Window&amp;quot; dialog from appearing&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 8&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes = Source: NI Knowledge Base ( http://digital.ni.com/public.nsf/allkb/841B934909D863C886256F62006AC243?OpenDocument )&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = ShowTipStrings&lt;br /&gt;
| example =ShowTipStrings=FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Display Tip Strips during execution&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =TRUE&lt;br /&gt;
| LV1 = 4&lt;br /&gt;
| LV2 = 5&lt;br /&gt;
| LV3 = 6&lt;br /&gt;
| LV4 = 7&lt;br /&gt;
| LV5 = 8&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =u&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = skipNavigatorDialog&lt;br /&gt;
| example =skipNavigatorDialog=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Skip the navigation dialog on development environment launch&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 5&lt;br /&gt;
| LV2 = 6&lt;br /&gt;
| LV3 = 7&lt;br /&gt;
| LV4 = 8&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = SuperSecretPrivateSpecialStuff&lt;br /&gt;
| example =SuperSecretPrivateSpecialStuff=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Exposes private properties, method and events in the IDE&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 8&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =Not supported by NI, this is not a scripting method.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = suppressFileDlgForMissingVIs&lt;br /&gt;
| example =suppressFileDlgForMissingVIs=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Suppresses the file dialog for when loading a VI that has missing SubVIs&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 5&lt;br /&gt;
| LV2 = 6&lt;br /&gt;
| LV3 = 7&lt;br /&gt;
| LV4 = 8&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = useNativeFileDialog&lt;br /&gt;
| example =useNativeFileDialog=FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Use the OS native file dialogs&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =TRUE&lt;br /&gt;
| LV1 = 4&lt;br /&gt;
| LV2 = 5&lt;br /&gt;
| LV3 = 6&lt;br /&gt;
| LV4 = 7&lt;br /&gt;
| LV5 = 8&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = userVIsAppearFirst&lt;br /&gt;
| example =userVIsAppearFirst=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Makes the user VIs appear first in the tool menu&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 6&lt;br /&gt;
| LV2 = 7&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =Unfortunately this option no longer works in LabVIEW versions 8+.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = XNodeWizardMode&lt;br /&gt;
| example =XNodeWizardMode=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Allows contextual menus on [[XNodes]] to facilitate debugging&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default =FALSE&lt;br /&gt;
| LV1 = 8&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = MaxGSWRecentProjects&lt;br /&gt;
| example =MaxGSWRecentProjects=10&lt;br /&gt;
| datatype =i&lt;br /&gt;
| description =Allows more projects to be added to the Getting Started Window&lt;br /&gt;
| permitted_values = 1 to 10&lt;br /&gt;
| default = 2&lt;br /&gt;
| LV1 = 2009&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = operateCursorRunningVIs&lt;br /&gt;
| example = operateCursorRunningVIs=TRUE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Changes the default cursor on running VIs to its behavior prior to LabVIEW 2012&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
| LV1 = 2012&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = useNewProjWiz&lt;br /&gt;
| example =  useNewProjWiz =FALSE&lt;br /&gt;
| datatype =b&lt;br /&gt;
| description =Set to FALSE to make the Create Project menu items (in File and Project) open empty projects instead of launching the Create Project dialog.&lt;br /&gt;
| permitted_values =TRUE or FALSE&lt;br /&gt;
| default = TRUE&lt;br /&gt;
| LV1 = 2012&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| LV6 =&lt;br /&gt;
| OS1 =w&lt;br /&gt;
| OS2 =m&lt;br /&gt;
| OS3 =l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =None&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ labviewconfigurationkey&lt;br /&gt;
| keyname = QuickBold&lt;br /&gt;
| example = QuickBold=TRUE&lt;br /&gt;
| datatype = b&lt;br /&gt;
| description = When editing text (either on the block diagram or the front panel) Ctrl-B allows you to toggle &#039;&#039;&#039;bold&#039;&#039;&#039; on or off. (When not editing text, Ctrl-B still performs it&#039;s normal function: remove broken wires.)&lt;br /&gt;
| permitted_values = TRUE or FALSE&lt;br /&gt;
| default = FALSE&lt;br /&gt;
| LV1 = 2013&lt;br /&gt;
| LV2 =&lt;br /&gt;
| LV3 =&lt;br /&gt;
| LV4 =&lt;br /&gt;
| LV5 =&lt;br /&gt;
| OS1 = w&lt;br /&gt;
| OS2 = m&lt;br /&gt;
| OS3 = l&lt;br /&gt;
| OS4 =&lt;br /&gt;
| notes =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Configuration File|Misc]]&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Talk:Linker.Read_info_from_file&amp;diff=5236</id>
		<title>Talk:Linker.Read info from file</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Talk:Linker.Read_info_from_file&amp;diff=5236"/>
		<updated>2013-01-20T05:33:03Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: Forgot to sign my message.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Are you sure this is a private method?==&lt;br /&gt;
In the image on the article, the invoke node is light blue. This means it requires scripting to be enabled, but it&#039;s not private. If it was private, the node would be brown. [[User:Flarn2006|Flarn2006]] 00:33, 20 January 2013 (EST)&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Talk:Linker.Read_info_from_file&amp;diff=5235</id>
		<title>Talk:Linker.Read info from file</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Talk:Linker.Read_info_from_file&amp;diff=5235"/>
		<updated>2013-01-20T05:32:42Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: Created page with &amp;quot;==Are you sure this is a private method?== In the image on the article, the invoke node is light blue. This means it requires scripting to be enabled, but it&amp;#039;s not private. If it...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Are you sure this is a private method?==&lt;br /&gt;
In the image on the article, the invoke node is light blue. This means it requires scripting to be enabled, but it&#039;s not private. If it was private, the node would be brown.&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=File:Fake_Exec_State.png&amp;diff=5227</id>
		<title>File:Fake Exec State.png</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=File:Fake_Exec_State.png&amp;diff=5227"/>
		<updated>2013-01-20T00:13:18Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: uploaded a new version of &amp;amp;quot;File:Fake Exec State.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An example use of the private method [[VI.Fake Exec State]] which, when called, will make the VI appear to stop while still running.&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=File:Fake_Exec_State.png&amp;diff=5226</id>
		<title>File:Fake Exec State.png</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=File:Fake_Exec_State.png&amp;diff=5226"/>
		<updated>2013-01-19T23:56:42Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: An example use of the private method VI.Fake Exec State which, when called, will make the VI appear to stop while still running.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An example use of the private method [[VI.Fake Exec State]] which, when called, will make the VI appear to stop while still running.&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=User:Flarn2006/Sandbox&amp;diff=5221</id>
		<title>User:Flarn2006/Sandbox</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=User:Flarn2006/Sandbox&amp;diff=5221"/>
		<updated>2013-01-17T06:17:38Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A generic VI is any VI which contains generic controls and/or indicators. Generic controls and indicators automatically change to match whatever type is wired to them, similar to polymorphic VIs. Unlike polymorphic VIs, however, a generic VI can accept &#039;&#039;any&#039;&#039; type, and all its code needs only to be implemented once. While this sounds quite useful, &#039;&#039;&#039;&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;the use of generic VIs has been officially condemned by NI, as they are very likely to cause serious problems.&amp;lt;/span&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Origin==&lt;br /&gt;
The first generic VI was published&amp;lt;ref name=&amp;quot;r1da&amp;quot;&amp;gt;[http://forums.ni.com/t5/LabVIEW-Developers-Feature/Now-available-for-download-quot-Randomize-1D-Array-vi-quot-that/td-p/1159329]&amp;lt;/ref&amp;gt; by Aristos Queue on June 24, 2010. Randomize 1D Array.vi, the aforementioned generic VI, accepted an array of any type, and would output the same array except in a different, pseudorandom order. Aristos later announced that &amp;quot;the beta test [was] finished; the VIs are no longer available for download because instabilities [had] been identified.&amp;quot;&amp;lt;ref name=&amp;quot;r1da&amp;quot; /&amp;gt; The VI is still available, however, through the Internet Archive&#039;s Wayback Machine.&amp;lt;ref&amp;gt;http://web.archive.org/web/20100811000744/http://forums.ni.com/t5/LabVIEW-Developers-Feature/Now-available-for-download-quot-Randomize-1D-Array-vi-quot-that/td-p/1159329&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Creating generic VIs==&lt;br /&gt;
Although Randomize 1D Array.vi was password protected, the control and indicator were copied anyway, and posted to the LAVA forums by flarn2006.&amp;lt;ref&amp;gt;[http://lavag.org/topic/15870-create-your-own-generic-vi-like-randomize-1d-array/]&amp;lt;/ref&amp;gt; This allowed the creation of custom generic VIs.&lt;br /&gt;
If a generic control or indicator is put in an array, the terminal will only accept arrays of that dimension, except any array type can be used. Similarly, a generic control or indicator can be placed in a cluster, and it will only accept that cluster type, except with any type in place of the generic control.&lt;br /&gt;
&lt;br /&gt;
==Disclaimer==&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;As was mentioned before, generic VIs are NOT supported in any way by National Instruments. Due to several issues, they are not under any circumstances to be used in any production code. The information on this page is intended only for exploration and experimentation with a private feature of LabVIEW, and not for use in any serious work.&amp;lt;/span&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
* [Original thread on NI&#039;s official forums about generic VIs http://forums.ni.com/t5/LabVIEW-Developers-Feature/Now-available-for-download-quot-Randomize-1D-Array-vi-quot-that/td-p/1159329]&lt;br /&gt;
* [LAVA thread detailing creation of generic VIs http://lavag.org/topic/15870-create-your-own-generic-vi-like-randomize-1d-array/]&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
{{reflist}}&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=User:Flarn2006/Sandbox&amp;diff=5220</id>
		<title>User:Flarn2006/Sandbox</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=User:Flarn2006/Sandbox&amp;diff=5220"/>
		<updated>2013-01-17T05:57:22Z</updated>

		<summary type="html">&lt;p&gt;Flarn2006: Created page with &amp;quot;A generic VI is any VI which contains generic controls and/or indicators. Generic controls and indicators automatically change to match whatever type is wired to them, similar to...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A generic VI is any VI which contains generic controls and/or indicators. Generic controls and indicators automatically change to match whatever type is wired to them, similar to polymorphic VIs. Unlike polymorphic VIs, however, a generic VI can accept &#039;&#039;any&#039;&#039; type, and all its code needs only to be implemented once. While this sounds quite useful,&lt;/div&gt;</summary>
		<author><name>Flarn2006</name></author>
	</entry>
</feed>