<?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=Jim+Kring</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=Jim+Kring"/>
	<link rel="alternate" type="text/html" href="https://labviewwiki.org/wiki/Special:Contributions/Jim_Kring"/>
	<updated>2026-04-20T20:58:18Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=LabVIEW_Wiki&amp;diff=10163</id>
		<title>LabVIEW Wiki</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=LabVIEW_Wiki&amp;diff=10163"/>
		<updated>2019-09-25T21:13:27Z</updated>

		<summary type="html">&lt;p&gt;Jim Kring: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [[LabVIEW Wiki]] is a [[LabVIEW]] [https://en.m.wikipedia.org/wiki/Wiki Wiki].&lt;br /&gt;
&lt;br /&gt;
[[Category:Self-referencing wiki pages]]&lt;/div&gt;</summary>
		<author><name>Jim Kring</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=LabVIEW_Wiki&amp;diff=10162</id>
		<title>LabVIEW Wiki</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=LabVIEW_Wiki&amp;diff=10162"/>
		<updated>2019-09-25T21:10:47Z</updated>

		<summary type="html">&lt;p&gt;Jim Kring: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [[LabVIEW Wiki]] is a [[LabVIEW]] [[Wiki]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Self-referencing wiki pages]]&lt;/div&gt;</summary>
		<author><name>Jim Kring</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=LabVIEW_Wiki&amp;diff=10161</id>
		<title>LabVIEW Wiki</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=LabVIEW_Wiki&amp;diff=10161"/>
		<updated>2019-09-25T21:10:04Z</updated>

		<summary type="html">&lt;p&gt;Jim Kring: Created page with &amp;quot;The LabVIEW Wiki is a LabVIEW Wiki.  Category:Self-referencing wiki pages&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [[LabVIEW Wiki]] is a [[LabVIEW Wiki]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Self-referencing wiki pages]]&lt;/div&gt;</summary>
		<author><name>Jim Kring</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=LabVIEW_object-oriented_programming&amp;diff=4138</id>
		<title>LabVIEW object-oriented programming</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=LabVIEW_object-oriented_programming&amp;diff=4138"/>
		<updated>2009-12-21T02:56:05Z</updated>

		<summary type="html">&lt;p&gt;Jim Kring: fixed hyperlink formatting (was using BBCODE style links)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;LVOOP (pronounced &amp;quot;el vee oop&amp;quot;) is the native implementation of by-value object orientated programming that appeared in LabVIEW 8.20. &lt;br /&gt;
&lt;br /&gt;
*See the [[LVOOP Frequently Asked Questions]] page, here on the LabVIEW Wiki &lt;br /&gt;
*NI has a comprehensive LabVIEW Object-Oriented Programming FAQ for their native LVOOP (native by-value OOP) [http://zone.ni.com/devzone/cda/tut/p/id/3573 here]. It includes links to many other online resources, including the NI Week presentations that the NI R&amp;amp;amp;D team have given to customers. &lt;br /&gt;
*There are multiple example programs that ship with LV. They are located in &amp;amp;lt;labview&amp;amp;gt;exampleslvoop &lt;br /&gt;
*The National Instruments LVOOP FAQ references the [http://zone.ni.com/devzone/cda/tut/p/id/3574 LVOOP White Paper] several times. If you&#039;re an experienced LabVIEW developer, you&#039;ll probably enjoy it more than other forms of documentation. &lt;br /&gt;
*Christina Rogers (National Instruments R&amp;amp;amp;D) has some excellent discussion about refactoring code, specifically the Getting Started Window, to use LabVIEW classes. See her blog at [http://eyesonvis.blogspot.com/ http://eyesonvis.blogspot.com/] and look at the posts in August 2006. &lt;br /&gt;
*[http://forums.ni.com/ni/board/message?board.id=170&amp;amp;message.id=216094&amp;amp;requireLogin=False The LVOOP Design Patterns] is a work-in-progress that [http://forums.lavag.org/Aristos-Queue-m5877.html Aristos Queue] (National Instruments R&amp;amp;amp;D) is working on to help new LVOOP customers choose architectures appropriate to different types of software projects.&lt;br /&gt;
&lt;br /&gt;
== See Also  ==&lt;br /&gt;
&lt;br /&gt;
[[Category:GOOP]]&lt;/div&gt;</summary>
		<author><name>Jim Kring</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=LabVIEW_Project&amp;diff=3939</id>
		<title>LabVIEW Project</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=LabVIEW_Project&amp;diff=3939"/>
		<updated>2009-02-07T20:20:18Z</updated>

		<summary type="html">&lt;p&gt;Jim Kring: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About LabVIEW&amp;amp;nbsp;Projects  ==&lt;br /&gt;
&lt;br /&gt;
A [[LabVIEW_Project|LabVIEW Project]] is a tool for organizing project files, NI hardware, configuration data, and build specifications.&amp;amp;nbsp;&amp;amp;nbsp;Project information is stored in an .lvproj file. &lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Project Explorer&amp;quot; window, shown below, is where you interact with LabVIEW projects: &lt;br /&gt;
&lt;br /&gt;
[[Image:Project Explorer.png]]&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
*[http://zone.ni.com/reference/en-XX/help/371361E-01/lvconcepts/using_labview_projects/ Using LabVIEW&amp;amp;nbsp;Projects]&amp;amp;nbsp;(NI LabVIEW 8.6 Help)&lt;/div&gt;</summary>
		<author><name>Jim Kring</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=LabVIEW_Project&amp;diff=3938</id>
		<title>LabVIEW Project</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=LabVIEW_Project&amp;diff=3938"/>
		<updated>2009-02-07T20:16:21Z</updated>

		<summary type="html">&lt;p&gt;Jim Kring: added some headings and external link to LabVIEW help&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About LabVIEW&amp;amp;nbsp;Projects ==&lt;br /&gt;
&lt;br /&gt;
A [[LabVIEW_Project]] is a tool for organizing project files, NI hardware, configuration data, and build specifications.&amp;amp;nbsp;&amp;amp;nbsp;Project information is stored in an .lvproj file. &lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Project Explorer&amp;quot; window, shown below, is where you interact with LabVIEW projects: &lt;br /&gt;
&lt;br /&gt;
[[Image:Project Explorer.png]]&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
*[http://zone.ni.com/reference/en-XX/help/371361E-01/lvconcepts/using_labview_projects/ Using LabVIEW&amp;amp;nbsp;Projects]&amp;amp;nbsp;(NI LabVIEW 8.6 Help)&lt;/div&gt;</summary>
		<author><name>Jim Kring</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=LabVIEW_Project&amp;diff=3937</id>
		<title>LabVIEW Project</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=LabVIEW_Project&amp;diff=3937"/>
		<updated>2009-02-07T20:14:24Z</updated>

		<summary type="html">&lt;p&gt;Jim Kring: New page: A LabVIEW Project is a tool for organizing project files, NI hardware, configuration data, and build specifications.&amp;amp;nbsp;&amp;amp;nbsp;Project information is stored in an .lvproj file.  The &amp;quot;...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A [[LabVIEW Project]] is a tool for organizing project files, NI hardware, configuration data, and build specifications.&amp;amp;nbsp;&amp;amp;nbsp;Project information is stored in an .lvproj file.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Project Explorer&amp;quot; window, shown below, is where you interact with LabVIEW projects:&lt;br /&gt;
&lt;br /&gt;
[[Image:Project Explorer.png]]&lt;/div&gt;</summary>
		<author><name>Jim Kring</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=File:Project_Explorer.png&amp;diff=3936</id>
		<title>File:Project Explorer.png</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=File:Project_Explorer.png&amp;diff=3936"/>
		<updated>2009-02-07T20:09:48Z</updated>

		<summary type="html">&lt;p&gt;Jim Kring: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jim Kring</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=State_Machine&amp;diff=3935</id>
		<title>State Machine</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=State_Machine&amp;diff=3935"/>
		<updated>2009-02-07T00:17:23Z</updated>

		<summary type="html">&lt;p&gt;Jim Kring: Added external link to JKI State Machine&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The state machine is a convenient LabVIEW construct where a case structure is contained with a while loop. Execution of particular cases in the structure is determined by the output from the previous case (or in the instance of the first execution) by the control selector input. The control of the order of case execution is controlled through the use of a shift register. By wiring the output from one case as the determinate to the subsequent case (wiring to the shift register on the right hand side) and wiring the input to the case selector from the left hand side shift register, operations can be ordered according to which state is executed.&amp;lt;br /&amp;gt;[[Image:Simple_State_Machine.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The state machine has the advantage of allowing several steps to be linked in series so that each individual step can be executed (or debugged) easily. The trap for the inexperienced programmer is the use of the state machine to step in a haphazard fashion through the cases in the loop. This can lead to complicated pathways through the state machine reminiscent of convoluted goto statements in conventional text based languages. However state machines are a valuable tool and can be used very effectively with this in mind.&lt;br /&gt;
&lt;br /&gt;
State machines can be based around integers, strings or enumerated types. The relative merits of each have been discussed in detail elsewhere. In summary an enumerated type state machine has the advantage of being automatically updated when the enum is changed (if the enum is a [[Type Definition]]) but has the disadvantage of requiring careful checking of all the code if new states (enums) are added or redundant states deleted. A string state machine has the advantage of easily added or removed states, but has the disadvantage of spelling mistakes causing programming errors (Note: this can be reduced by including the &amp;quot;Default&amp;quot; state showing the misspelled case in a pop up dialog box, as seen below).&amp;lt;br /&amp;gt;[[Image:String_Based_State_Machine_Default_Case.png]]&lt;br /&gt;
&lt;br /&gt;
== Controlling Order of State Execution ==&lt;br /&gt;
There are three possible ways to order a LabVIEW state machine. The first and easiest method (although NOT recommended) is to use an integer. The integer output from one case is wired as the selector for the subsequent case. The disadvantage of this method is that the numbers themselves are not very helpful in tracking through the code and the case selector becomes somewhat meaningless. Either of the following methods are preferred and there are pros and cons for each of them. Debate (strong at times) arises on the list quite frequently as to the best of these methods, but in practice either will work very nicely.&lt;br /&gt;
&lt;br /&gt;
The second method is to use a string as the case selector. With the correct choice of string states, this has the advantage of labeling each case so that your state machine becomes self documenting. A further advantage of this method is that all cases need not be written in the first instance and it is somewhat easier to include new states should the need arise (especially in earlier versions of LabVIEW (&amp;lt; 6.0)). The disadvantage is that it is easy to misspell a state and have the state machine buggy because of his. An easy way to overcome this disadvantage is to include a default case that pops up a warning including the spelling of the failed case.&lt;br /&gt;
&lt;br /&gt;
The third method is to use an enumerated type as the case selector. In preference this enum should be a [[Type Definition]] so that changes to the states are reflected easily and transparently when new states are added to the enum (via the LabVIEW auto update from [[Type Definition]] setting). Note that there are reports where this method causes problems in version of LabVIEW prior to 6.0, because the enum auto updating did not correctly handle newly inserted cases. This method has the advantage of the string method in code documentation, but requires the use of a default case if not all the cases are required to be written when the code is first created.&lt;br /&gt;
&lt;br /&gt;
== Passing Data Between States ==&lt;br /&gt;
Data is commonly passed between the states of a state machine using a [[Shift Register]], similar to how the state variable is passed between states.  It is a common practice to use a single [[Cluster]] (preferably a [[Type Definition]]) to hold all the data in a single [[Shift Register]], rather than multiple shift registers for multiple data elements.&lt;br /&gt;
&lt;br /&gt;
== See Also  ==&lt;br /&gt;
&lt;br /&gt;
*[[Queued State Machine]]&lt;br /&gt;
&lt;br /&gt;
== External Links  ==&lt;br /&gt;
&lt;br /&gt;
*[http://jkisoft.com/state-machine JKI State Machine] - An easy-to-use yet powerful state machine template from [http://jkisoft.com JKI Software].&lt;br /&gt;
&lt;br /&gt;
[[Category:Design_patterns]]&lt;/div&gt;</summary>
		<author><name>Jim Kring</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Polymorphic_VI&amp;diff=3776</id>
		<title>Polymorphic VI</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Polymorphic_VI&amp;diff=3776"/>
		<updated>2008-12-18T23:03:31Z</updated>

		<summary type="html">&lt;p&gt;Jim Kring: /* Limitations */ made limitation more exact&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Polymorphic VI==&lt;br /&gt;
A polymorphic VI is a VI without any code but can be used to group several normal [[VI|VIs]] into one VI. A developer can choose during edit mode which VI should be executed during runtime.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
A polymorphic VI is used to execute the same operation on different file-types or to return different file types&lt;br /&gt;
&lt;br /&gt;
==Selection==&lt;br /&gt;
Selection of a specific VI can be done automatically based on the data-types connected to the in/output [[terminal|terminals]] of the VI.&lt;br /&gt;
To show the manual selector, right-click the polymorphic VI icon an a block diagram, select &#039;Visible Items\Polymorphic VI Selector&#039;&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
The configuration of a polymorphic VI is done by selecting &#039;Open Polymorphic VI&#039; after a right click on the icon on a block diagram.&lt;br /&gt;
&lt;br /&gt;
[[Image:Polymorphic_Options.png]]&lt;br /&gt;
&lt;br /&gt;
In the configuration dialog you can edit the Polymorphic VI, add or remove VIs.&lt;br /&gt;
Alternatively it is possible to show the icon of the instance instead of the icon of the polymorphic VI.&lt;br /&gt;
It is possible to let the selection be done automatically. The selector can be shown by default.&lt;br /&gt;
&lt;br /&gt;
==Configuration of an instance==&lt;br /&gt;
By using the &#039;Edit name...&#039; button on the configuration dialog the following dialog opens:&lt;br /&gt;
&lt;br /&gt;
[[Image:Polymorphic_Edit_Instance.png]]&lt;br /&gt;
&lt;br /&gt;
The &#039;Menu Name&#039; is shown in the selector after an instance is selected.&lt;br /&gt;
The &#039;Polymorphic VI Selector Name&#039; you can alter the menu shown by the VI selector.&lt;br /&gt;
Levels can be made by using a colon (:) as separator.&lt;br /&gt;
&lt;br /&gt;
==Limitations==&lt;br /&gt;
*All VIs of a polymorphic VI must have the same [[Connector Pane]] pattern, or the Polymorphic VI will be broken.&lt;br /&gt;
&lt;br /&gt;
*Using the polymorphic VI will load all VIs into memory.&lt;/div&gt;</summary>
		<author><name>Jim Kring</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Polymorphic_VI&amp;diff=3775</id>
		<title>Polymorphic VI</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Polymorphic_VI&amp;diff=3775"/>
		<updated>2008-12-18T23:02:17Z</updated>

		<summary type="html">&lt;p&gt;Jim Kring: /* Limitations */ changed &amp;quot;connector pattern&amp;quot; link to &amp;quot;Connector Pane&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Polymorphic VI==&lt;br /&gt;
A polymorphic VI is a VI without any code but can be used to group several normal [[VI|VIs]] into one VI. A developer can choose during edit mode which VI should be executed during runtime.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
A polymorphic VI is used to execute the same operation on different file-types or to return different file types&lt;br /&gt;
&lt;br /&gt;
==Selection==&lt;br /&gt;
Selection of a specific VI can be done automatically based on the data-types connected to the in/output [[terminal|terminals]] of the VI.&lt;br /&gt;
To show the manual selector, right-click the polymorphic VI icon an a block diagram, select &#039;Visible Items\Polymorphic VI Selector&#039;&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
The configuration of a polymorphic VI is done by selecting &#039;Open Polymorphic VI&#039; after a right click on the icon on a block diagram.&lt;br /&gt;
&lt;br /&gt;
[[Image:Polymorphic_Options.png]]&lt;br /&gt;
&lt;br /&gt;
In the configuration dialog you can edit the Polymorphic VI, add or remove VIs.&lt;br /&gt;
Alternatively it is possible to show the icon of the instance instead of the icon of the polymorphic VI.&lt;br /&gt;
It is possible to let the selection be done automatically. The selector can be shown by default.&lt;br /&gt;
&lt;br /&gt;
==Configuration of an instance==&lt;br /&gt;
By using the &#039;Edit name...&#039; button on the configuration dialog the following dialog opens:&lt;br /&gt;
&lt;br /&gt;
[[Image:Polymorphic_Edit_Instance.png]]&lt;br /&gt;
&lt;br /&gt;
The &#039;Menu Name&#039; is shown in the selector after an instance is selected.&lt;br /&gt;
The &#039;Polymorphic VI Selector Name&#039; you can alter the menu shown by the VI selector.&lt;br /&gt;
Levels can be made by using a colon (:) as separator.&lt;br /&gt;
&lt;br /&gt;
==Limitations==&lt;br /&gt;
*All VIs of a polymorphic VI should have the same [[Connector Pane]] pattern.&lt;br /&gt;
&lt;br /&gt;
*Using the polymorphic VI will load all VIs into memory.&lt;/div&gt;</summary>
		<author><name>Jim Kring</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Polymorphic_VI&amp;diff=3774</id>
		<title>Polymorphic VI</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Polymorphic_VI&amp;diff=3774"/>
		<updated>2008-12-18T23:01:14Z</updated>

		<summary type="html">&lt;p&gt;Jim Kring: /* Configuration of an instance */ fixed spelling typos&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Polymorphic VI==&lt;br /&gt;
A polymorphic VI is a VI without any code but can be used to group several normal [[VI|VIs]] into one VI. A developer can choose during edit mode which VI should be executed during runtime.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
A polymorphic VI is used to execute the same operation on different file-types or to return different file types&lt;br /&gt;
&lt;br /&gt;
==Selection==&lt;br /&gt;
Selection of a specific VI can be done automatically based on the data-types connected to the in/output [[terminal|terminals]] of the VI.&lt;br /&gt;
To show the manual selector, right-click the polymorphic VI icon an a block diagram, select &#039;Visible Items\Polymorphic VI Selector&#039;&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
The configuration of a polymorphic VI is done by selecting &#039;Open Polymorphic VI&#039; after a right click on the icon on a block diagram.&lt;br /&gt;
&lt;br /&gt;
[[Image:Polymorphic_Options.png]]&lt;br /&gt;
&lt;br /&gt;
In the configuration dialog you can edit the Polymorphic VI, add or remove VIs.&lt;br /&gt;
Alternatively it is possible to show the icon of the instance instead of the icon of the polymorphic VI.&lt;br /&gt;
It is possible to let the selection be done automatically. The selector can be shown by default.&lt;br /&gt;
&lt;br /&gt;
==Configuration of an instance==&lt;br /&gt;
By using the &#039;Edit name...&#039; button on the configuration dialog the following dialog opens:&lt;br /&gt;
&lt;br /&gt;
[[Image:Polymorphic_Edit_Instance.png]]&lt;br /&gt;
&lt;br /&gt;
The &#039;Menu Name&#039; is shown in the selector after an instance is selected.&lt;br /&gt;
The &#039;Polymorphic VI Selector Name&#039; you can alter the menu shown by the VI selector.&lt;br /&gt;
Levels can be made by using a colon (:) as separator.&lt;br /&gt;
&lt;br /&gt;
==Limitations==&lt;br /&gt;
*All VIs of a polymorphic VI should have the same [[connector pattern]].&lt;br /&gt;
&lt;br /&gt;
*Using the polymorphic VI will load all VIs into memory.&lt;/div&gt;</summary>
		<author><name>Jim Kring</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Symbolic_path&amp;diff=3753</id>
		<title>Symbolic path</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Symbolic_path&amp;diff=3753"/>
		<updated>2008-11-25T17:17:19Z</updated>

		<summary type="html">&lt;p&gt;Jim Kring: Added &amp;quot;Resolving Symbolic Paths Programmatically&amp;quot; section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When files are located beneath certain special folders, callers that link to these files will link to them using a &#039;&#039;symbolic path&#039;&#039;, rather than an absolute or relative path.  The &#039;&#039;symbolic path&#039;&#039; will be relative to the special folder.  The following table lists these special folders and their &#039;&#039;symbolic path&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! symbolic path&lt;br /&gt;
! description&lt;br /&gt;
! actual path&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;userlib&amp;gt;&lt;br /&gt;
| User Libraries&lt;br /&gt;
| &amp;lt;LabVIEW&amp;gt;\user.lib&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;vilib&amp;gt;&lt;br /&gt;
| NI Libraries and Addons&lt;br /&gt;
| &amp;lt;LabVIEW&amp;gt;\vi.lib&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;instrlib&amp;gt;&lt;br /&gt;
| Instrument Drivers&lt;br /&gt;
| &amp;lt;LabVIEW&amp;gt;\instr.lib&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;help&amp;gt;&lt;br /&gt;
| Help Files&lt;br /&gt;
| &amp;lt;LabVIEW&amp;gt;\help&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;menu&amp;gt;&lt;br /&gt;
| Palette Menus&lt;br /&gt;
| &amp;lt;LabVIEW&amp;gt;\menus&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that some of these can have the actual path changed by changing the settings in &#039;&#039;&#039;Tools&amp;gt;&amp;gt;Options&#039;&#039;&#039;. The whole point of the symbolic path is to indicate &amp;quot;load from whatever location this path is currently defined to be.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
For example, if you have a VI located in the following location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;LabVIEW&amp;gt;\user.lib\_OpenG.lib\array\array.llb\Conditional Auto-Indexing Tunnel__ogtk.vi&lt;br /&gt;
&lt;br /&gt;
Callers will link to this VI using the following &#039;&#039;symbolic path&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;userlib&amp;gt;\_OpenG.lib\array\array.llb\Conditional Auto-Indexing Tunnel__ogtk.vi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;symbolic path&#039;&#039; are not generally encountered.  They are used mostly under the hood of LabVIEW, for example, when using the Application &#039;&#039;&#039;Linker:Read Info From File&#039;&#039;&#039; and &#039;&#039;&#039;Linker:Write Info To File&#039;&#039;&#039; methods.&lt;br /&gt;
&lt;br /&gt;
== Resolving Symbolic Paths Programmatically==&lt;br /&gt;
&lt;br /&gt;
You can call the private &#039;&#039;&#039;Resolve Symbolic Path&#039;&#039;&#039; method to convert a Symbolic Path to an absolute path, as shown in the screenshot, below.&lt;br /&gt;
&lt;br /&gt;
[[Image:ResolveSymbolicPath.png]]&lt;br /&gt;
&lt;br /&gt;
You can download a VI with this private method, here: [http://forums.lavag.org/post-a10538-ResolveSymbolicPath.vi ResolveSymbolicPath.vi]&lt;br /&gt;
&lt;br /&gt;
== Auto update of symbolic paths ==&lt;br /&gt;
If you have a VI linked to another VI inside a symbolic path LabVIEW will automatically store the path symbolically. Here&#039;s the following use case:&lt;br /&gt;
&lt;br /&gt;
Suppose you want to build a LabVIEW tool that resides under the Tools menu but is also accessible via the user.lib palette. What you can do is create a set-up upon built like this:&lt;br /&gt;
&lt;br /&gt;
*[Built]&lt;br /&gt;
**[Tools]&lt;br /&gt;
***Menu VI&lt;br /&gt;
**[user.lib]&lt;br /&gt;
***Actual VI&lt;br /&gt;
&lt;br /&gt;
When you copy the contents of &#039;&#039;Built&#039;&#039; to the LabVIEW folder the &#039;&#039;Menu VI&#039;&#039; will have a relative path like &#039;&#039;..\user.lib\Actual VI&#039;&#039; when you do a resave of the &#039;&#039;Menu VI&#039;&#039; the path will be changed to an absolute path &#039;&#039;&amp;lt;userlib&amp;gt;\Actual VI&#039;&#039;. Now you can move the &#039;&#039;Menu VI&#039;&#039; around without breaking it.&lt;br /&gt;
&lt;br /&gt;
== When Using Modules (FPGA, RT, etc) ==&lt;br /&gt;
A symbolic path may resolve to different actual files on disk depending upon which target the VI is loaded into. So a VI that is written to use &amp;lt;vilib&amp;gt;\a.vi may use &amp;lt;labview&amp;gt;\vi.lib\a.vi when loaded for the desktop target, but may use &amp;lt;labview&amp;gt;\vi.lib\fpga\a.vi when loaded for the FPGA target.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://zone.ni.com/reference/en-XX/help/371361B-01/lvhowto/using_symbolic_paths/ LabVIEW Help: Using Symbolic Paths]&lt;br /&gt;
&lt;br /&gt;
[[category:development environment]]&lt;br /&gt;
[[category:File IO]]&lt;/div&gt;</summary>
		<author><name>Jim Kring</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=File:ResolveSymbolicPath.png&amp;diff=3752</id>
		<title>File:ResolveSymbolicPath.png</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=File:ResolveSymbolicPath.png&amp;diff=3752"/>
		<updated>2008-11-25T17:16:43Z</updated>

		<summary type="html">&lt;p&gt;Jim Kring: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jim Kring</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Symbolic_path&amp;diff=3751</id>
		<title>Symbolic path</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Symbolic_path&amp;diff=3751"/>
		<updated>2008-11-25T17:13:09Z</updated>

		<summary type="html">&lt;p&gt;Jim Kring: fixed a spelling typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When files are located beneath certain special folders, callers that link to these files will link to them using a &#039;&#039;symbolic path&#039;&#039;, rather than an absolute or relative path.  The &#039;&#039;symbolic path&#039;&#039; will be relative to the special folder.  The following table lists these special folders and their &#039;&#039;symbolic path&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! symbolic path&lt;br /&gt;
! description&lt;br /&gt;
! actual path&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;userlib&amp;gt;&lt;br /&gt;
| User Libraries&lt;br /&gt;
| &amp;lt;LabVIEW&amp;gt;\user.lib&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;vilib&amp;gt;&lt;br /&gt;
| NI Libraries and Addons&lt;br /&gt;
| &amp;lt;LabVIEW&amp;gt;\vi.lib&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;instrlib&amp;gt;&lt;br /&gt;
| Instrument Drivers&lt;br /&gt;
| &amp;lt;LabVIEW&amp;gt;\instr.lib&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;help&amp;gt;&lt;br /&gt;
| Help Files&lt;br /&gt;
| &amp;lt;LabVIEW&amp;gt;\help&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;menu&amp;gt;&lt;br /&gt;
| Palette Menus&lt;br /&gt;
| &amp;lt;LabVIEW&amp;gt;\menus&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that some of these can have the actual path changed by changing the settings in &#039;&#039;&#039;Tools&amp;gt;&amp;gt;Options&#039;&#039;&#039;. The whole point of the symbolic path is to indicate &amp;quot;load from whatever location this path is currently defined to be.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
For example, if you have a VI located in the following location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;LabVIEW&amp;gt;\user.lib\_OpenG.lib\array\array.llb\Conditional Auto-Indexing Tunnel__ogtk.vi&lt;br /&gt;
&lt;br /&gt;
Callers will link to this VI using the following &#039;&#039;symbolic path&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;userlib&amp;gt;\_OpenG.lib\array\array.llb\Conditional Auto-Indexing Tunnel__ogtk.vi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;symbolic path&#039;&#039; are not generally encountered.  They are used mostly under the hood of LabVIEW, for example, when using the Application &#039;&#039;&#039;Linker:Read Info From File&#039;&#039;&#039; and &#039;&#039;&#039;Linker:Write Info To File&#039;&#039;&#039; methods.&lt;br /&gt;
&lt;br /&gt;
== Auto update of symbolic paths ==&lt;br /&gt;
If you have a VI linked to another VI inside a symbolic path LabVIEW will automatically store the path symbolically. Here&#039;s the following use case:&lt;br /&gt;
&lt;br /&gt;
Suppose you want to build a LabVIEW tool that resides under the Tools menu but is also accessible via the user.lib palette. What you can do is create a set-up upon built like this:&lt;br /&gt;
&lt;br /&gt;
*[Built]&lt;br /&gt;
**[Tools]&lt;br /&gt;
***Menu VI&lt;br /&gt;
**[user.lib]&lt;br /&gt;
***Actual VI&lt;br /&gt;
&lt;br /&gt;
When you copy the contents of &#039;&#039;Built&#039;&#039; to the LabVIEW folder the &#039;&#039;Menu VI&#039;&#039; will have a relative path like &#039;&#039;..\user.lib\Actual VI&#039;&#039; when you do a resave of the &#039;&#039;Menu VI&#039;&#039; the path will be changed to an absolute path &#039;&#039;&amp;lt;userlib&amp;gt;\Actual VI&#039;&#039;. Now you can move the &#039;&#039;Menu VI&#039;&#039; around without breaking it.&lt;br /&gt;
&lt;br /&gt;
== When Using Modules (FPGA, RT, etc) ==&lt;br /&gt;
A symbolic path may resolve to different actual files on disk depending upon which target the VI is loaded into. So a VI that is written to use &amp;lt;vilib&amp;gt;\a.vi may use &amp;lt;labview&amp;gt;\vi.lib\a.vi when loaded for the desktop target, but may use &amp;lt;labview&amp;gt;\vi.lib\fpga\a.vi when loaded for the FPGA target.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://zone.ni.com/reference/en-XX/help/371361B-01/lvhowto/using_symbolic_paths/ LabVIEW Help: Using Symbolic Paths]&lt;br /&gt;
&lt;br /&gt;
[[category:development environment]]&lt;br /&gt;
[[category:File IO]]&lt;/div&gt;</summary>
		<author><name>Jim Kring</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Development_Environment&amp;diff=3743</id>
		<title>Development Environment</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Development_Environment&amp;diff=3743"/>
		<updated>2008-10-18T16:52:04Z</updated>

		<summary type="html">&lt;p&gt;Jim Kring: added link to &amp;quot;Customizing the LabVIEW Development Environment&amp;quot; article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the portal for information related to the LabVIEW Development environment.&lt;br /&gt;
&lt;br /&gt;
====Pages here:====&lt;br /&gt;
*[[LabVIEW Environment|Environment Overview]]&lt;br /&gt;
*[[How to do Menu Launch VIs]]&lt;br /&gt;
*[[LabVIEW configuration file]] - Info about options you have when editing the LabVIEW configuration (ini) file&lt;br /&gt;
*[[Custom LabVIEW configuration file]] - Info about why to edit the LabVIEW configuration (ini) file&lt;br /&gt;
*[[LLB|LabVIEW LLBs]]&lt;br /&gt;
*[[Multiple Instances of LabVIEW|How to run multiple instances of LabVIEW]]&lt;br /&gt;
*[[VI Icons]]&lt;br /&gt;
*[[Insane Objects|Explanation of Insane Objects]]&lt;br /&gt;
*[[Keyboard shortcut|LabVIEW Keyboard shortcuts]]&lt;br /&gt;
*[[LabVIEW file extensions]]&lt;br /&gt;
&lt;br /&gt;
====External links:====&lt;br /&gt;
*[http://openg.org/docs/Customizing_LabVIEW.pdf Customizing the LabVIEW Development Environment] - a PDF document of an LTR article written by [http://forums.lavag.org/Jim-Kring-m17.html Jim Kring]&lt;/div&gt;</summary>
		<author><name>Jim Kring</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=LabVIEW_Object&amp;diff=3654</id>
		<title>LabVIEW Object</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=LabVIEW_Object&amp;diff=3654"/>
		<updated>2008-06-25T06:54:23Z</updated>

		<summary type="html">&lt;p&gt;Jim Kring: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
The LVClass is the LabVIEW-native OOP class type.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [[LVClass Data Storage Format]]&lt;br /&gt;
&lt;br /&gt;
[[Category:data types]]&lt;br /&gt;
[[Category:Stubs]]&lt;/div&gt;</summary>
		<author><name>Jim Kring</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=LabVIEW_Object&amp;diff=3653</id>
		<title>LabVIEW Object</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=LabVIEW_Object&amp;diff=3653"/>
		<updated>2008-06-25T06:52:24Z</updated>

		<summary type="html">&lt;p&gt;Jim Kring: New page: Category:data types Category:Stubs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:data types]]&lt;br /&gt;
[[Category:Stubs]]&lt;/div&gt;</summary>
		<author><name>Jim Kring</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Data_type&amp;diff=3652</id>
		<title>Data type</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Data_type&amp;diff=3652"/>
		<updated>2008-06-25T06:51:57Z</updated>

		<summary type="html">&lt;p&gt;Jim Kring: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are many data types in LabVIEW:&lt;br /&gt;
*[[String]]&lt;br /&gt;
*[[Numeric]]&lt;br /&gt;
**[[Integer]]&lt;br /&gt;
**[[Float]]&lt;br /&gt;
**[[Fixed-point]]&lt;br /&gt;
*[[Path]]&lt;br /&gt;
*[[Boolean]]&lt;br /&gt;
*[[Array]]&lt;br /&gt;
*[[Cluster]]&lt;br /&gt;
*[[Time stamp|Time Stamp]]&lt;br /&gt;
*[[Refnum]]&lt;br /&gt;
*[[Variant]]&lt;br /&gt;
*[[LVClass]]&lt;br /&gt;
&lt;br /&gt;
[[category:data types]]&lt;/div&gt;</summary>
		<author><name>Jim Kring</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=LabVIEW_object-oriented_programming&amp;diff=3531</id>
		<title>LabVIEW object-oriented programming</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=LabVIEW_object-oriented_programming&amp;diff=3531"/>
		<updated>2008-05-24T19:13:07Z</updated>

		<summary type="html">&lt;p&gt;Jim Kring: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;LVOOP (pronounced &amp;quot;el vee oop&amp;quot;) is the native implementation of by-value object orientated programming that appeared in LabVIEW 8.20.&lt;br /&gt;
*See the [[LVOOP_Frequently_Asked_Questions]] page, here on the LabVIEW Wiki&lt;br /&gt;
*NI has a comprehensive LabVIEW Object-Oriented Programming FAQ for their native LVOOP (native by-value OOP) [url=http://zone.ni.com/devzone/cda/tut/p/id/3573]here[/url]. It includes links to many other online resources, including the NI Week presentations that the NI R&amp;amp;D team have given to customers.&lt;br /&gt;
*There are multiple example programs that ship with LV. They are located in &amp;lt;labview&amp;gt;exampleslvoop&lt;br /&gt;
*The National Instruments LVOOP FAQ references the [url=http://zone.ni.com/devzone/cda/tut/p/id/3574]LVOOP White Paper[/url] several times. If you&#039;re an experienced LabVIEW developer, you&#039;ll probably enjoy it more than other forms of documentation.&lt;br /&gt;
*Christina Rogers (National Instruments R&amp;amp;D) has some excellent discussion about refactoring code, specifically the Getting Started Window, to use LabVIEW classes. See her blog at [url=http://eyesonvis.blogspot.com/]http://eyesonvis.blogspot.com/[/url] and look at the posts in August 2006.&lt;br /&gt;
*[url=http://forums.ni.com/ni/board/message?board.id=170&amp;amp;message.id=216094&amp;amp;requireLogin=False]The LVOOP Design Patterns[/url] is a work-in-progress that [url=http://forums.lavag.org/Aristos-Queue-m5877.html]Aristos Queue[/url] (National Instruments R&amp;amp;D) is working on to help new LVOOP customers choose architectures appropriate to different types of software projects.[/list]&lt;br /&gt;
== See Also ==&lt;br /&gt;
{{Portal|GOOP}}&lt;br /&gt;
[[Category:GOOP]]&lt;/div&gt;</summary>
		<author><name>Jim Kring</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=LabVIEW_object-oriented_programming&amp;diff=3530</id>
		<title>LabVIEW object-oriented programming</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=LabVIEW_object-oriented_programming&amp;diff=3530"/>
		<updated>2008-05-24T19:12:46Z</updated>

		<summary type="html">&lt;p&gt;Jim Kring: added link to LVOOP_Frequently_Asked_Questions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;LVOOP (pronounced &amp;quot;el vee oop&amp;quot;) is the native implementation of by-value object orientated programming that appeared in LabVIEW 8.20.&lt;br /&gt;
*See the [[LVOOP FAQ|LVOOP_Frequently_Asked_Questions]] page, here on the LabVIEW Wiki&lt;br /&gt;
*NI has a comprehensive LabVIEW Object-Oriented Programming FAQ for their native LVOOP (native by-value OOP) [url=http://zone.ni.com/devzone/cda/tut/p/id/3573]here[/url]. It includes links to many other online resources, including the NI Week presentations that the NI R&amp;amp;D team have given to customers.&lt;br /&gt;
*There are multiple example programs that ship with LV. They are located in &amp;lt;labview&amp;gt;exampleslvoop&lt;br /&gt;
*The National Instruments LVOOP FAQ references the [url=http://zone.ni.com/devzone/cda/tut/p/id/3574]LVOOP White Paper[/url] several times. If you&#039;re an experienced LabVIEW developer, you&#039;ll probably enjoy it more than other forms of documentation.&lt;br /&gt;
*Christina Rogers (National Instruments R&amp;amp;D) has some excellent discussion about refactoring code, specifically the Getting Started Window, to use LabVIEW classes. See her blog at [url=http://eyesonvis.blogspot.com/]http://eyesonvis.blogspot.com/[/url] and look at the posts in August 2006.&lt;br /&gt;
*[url=http://forums.ni.com/ni/board/message?board.id=170&amp;amp;message.id=216094&amp;amp;requireLogin=False]The LVOOP Design Patterns[/url] is a work-in-progress that [url=http://forums.lavag.org/Aristos-Queue-m5877.html]Aristos Queue[/url] (National Instruments R&amp;amp;D) is working on to help new LVOOP customers choose architectures appropriate to different types of software projects.[/list]&lt;br /&gt;
== See Also ==&lt;br /&gt;
{{Portal|GOOP}}&lt;br /&gt;
[[Category:GOOP]]&lt;/div&gt;</summary>
		<author><name>Jim Kring</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Subroutine&amp;diff=3517</id>
		<title>Subroutine</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Subroutine&amp;diff=3517"/>
		<updated>2008-04-01T17:43:34Z</updated>

		<summary type="html">&lt;p&gt;Jim Kring: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Subroutine is a priority setting in the VI Execution properties.  From the [http://zone.ni.com/reference/en-XX/help/371361B-01/lvdialog/execution/ LabVIEW Help]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Select subroutine priority to make the LabVIEW execution system run the VI as efficiently as possible. VIs that you set for Subroutine priority do not share execution time with other VIs. Selecting the subroutine priority also prevents any screen redraws and other system functions from occurring. You cannot abort a VI that has subroutine priority.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==When to use the Subroutine Setting==&lt;br /&gt;
{need to add best practices and rules of thumb for when to use this setting}&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
* [http://zone.ni.com/reference/en-XX/help/371361B-01/lvdialog/execution/ LabVIEW Help &amp;gt;&amp;gt; Execution Properties]&lt;br /&gt;
* [http://books.google.com/books?id=jqi9G2EyktYC&amp;amp;pg=PA434&amp;amp;lpg=PA434&amp;amp;dq=labview+when+to+use+subroutine+priority&amp;amp;source=web&amp;amp;ots=mvOJ_9WgAr&amp;amp;sig=S33wuaM7G50_HrlF0KdDUAdchDo&amp;amp;hl=en#PPA434,M1 LabVIEW Advanced Programming Techniques &amp;gt;&amp;gt; 9.10 Subroutines in LabVIEW]&lt;/div&gt;</summary>
		<author><name>Jim Kring</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Subroutine&amp;diff=3516</id>
		<title>Subroutine</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Subroutine&amp;diff=3516"/>
		<updated>2008-04-01T17:43:07Z</updated>

		<summary type="html">&lt;p&gt;Jim Kring: New page: Subroutine is a priority setting in the VI Execution properties.  From the LabVIEW Help:  &amp;lt;blockquote&amp;gt; Select subroutine priority to make the LabVIEW execution system run the VI as efficie...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Subroutine is a priority setting in the VI Execution properties.  From the LabVIEW Help:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Select subroutine priority to make the LabVIEW execution system run the VI as efficiently as possible. VIs that you set for Subroutine priority do not share execution time with other VIs. Selecting the subroutine priority also prevents any screen redraws and other system functions from occurring. You cannot abort a VI that has subroutine priority.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==When to use the Subroutine Setting==&lt;br /&gt;
{need to add best practices and rules of thumb for when to use this setting}&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
* [http://zone.ni.com/reference/en-XX/help/371361B-01/lvdialog/execution/ LabVIEW Help &amp;gt;&amp;gt; Execution Properties]&lt;br /&gt;
* [http://books.google.com/books?id=jqi9G2EyktYC&amp;amp;pg=PA434&amp;amp;lpg=PA434&amp;amp;dq=labview+when+to+use+subroutine+priority&amp;amp;source=web&amp;amp;ots=mvOJ_9WgAr&amp;amp;sig=S33wuaM7G50_HrlF0KdDUAdchDo&amp;amp;hl=en#PPA434,M1 LabVIEW Advanced Programming Techniques &amp;gt;&amp;gt; 9.10 Subroutines in LabVIEW]&lt;/div&gt;</summary>
		<author><name>Jim Kring</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Buffer_Allocation&amp;diff=3515</id>
		<title>Buffer Allocation</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Buffer_Allocation&amp;diff=3515"/>
		<updated>2008-03-25T22:04:20Z</updated>

		<summary type="html">&lt;p&gt;Jim Kring: Added External Links and link to VI Memory Usage page of LabVIEW help&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Note:  The following was copied from a [http://forums.lavag.org/Another-reason-why-copy-dots-is-a-bad-name-for-buffer-allocations-t10406.html#entry43277|forum post] by Aristos Queue.&lt;br /&gt;
&lt;br /&gt;
There is a tool in LabVIEW called the &amp;quot;Show Buffer Allocations&amp;quot; tool. You can find it in a VI&#039;s menu at Tools&amp;gt;&amp;gt;Profile&amp;gt;&amp;gt;Show Buffer Allocations.... It is a useful tool for doing memory optimizations because it shows little dots every place that the LabVIEW compiler made a buffer allocation. Some people call these &amp;quot;copy dots&amp;quot; because people *think* these indicate where LabVIEW is making a copy of the data. About 90% of the time, that is accurate. But there are some cases where a &amp;quot;buffer allocation&amp;quot; and a &amp;quot;copy&amp;quot; are not the same thing at all. Today I want to mention one that I haven&#039;t posted before. &lt;br /&gt;
&lt;br /&gt;
When using arrays, one of the major times when buffer allocations are of interest to programmers, not all buffer allocations are copy dots. Whenever possible, LabVIEW will do an operation on an array by creating a &amp;quot;subarray&amp;quot;. If you pay close attention to the Context Help window, you&#039;ll sometimes see wires that are of &amp;quot;subarray&amp;quot; type. A subarray is simply a reference to another array, storing an index into that array and a stride and a length. This is a very efficient way to do some pretty complex operations without actually making new arrays, such as decimate array, split array, and reverse array. That last one returns an index to the last element of the array and a stride length of -1. The return of a subarray is only possible when LabVIEW knows that no other operation is going to be modifying the value of the array, so it is safe for the reference to the array in memory to be shared. &lt;br /&gt;
&lt;br /&gt;
Now, take a look at this diagram. Notice the buffer allocations:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:subarraycopydots.png]] &lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Split 1D Array&amp;quot; node has two output buffer allocations. A lot of people would think, &amp;quot;Look at those copy dots. That means LabVIEW is making two new arrays, one for the first part of the array, and one for the second part of the array.&amp;quot; Not true. The buffer allocations are *for the subarrays*. Remember I said that a subarray records a reference to the array, a starting index, a length and a stride. Those four items of data have to be stored somewhere. The buffer allocation is the allocation to store those four items. It is not a copy of the entire array. The output of the Build Array, on the other hand, is a full array allocation. &lt;br /&gt;
&lt;br /&gt;
To see what is being allocated at any given buffer allocation, look at the type of the wire. &lt;br /&gt;
&lt;br /&gt;
And don&#039;t call them &amp;quot;copy dots.&amp;quot; :-) &lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://zone.ni.com/reference/en-XX/help/371361D-01/lvconcepts/vi_memory_usage/ LabVIEW 8.5 Help&amp;gt;&amp;gt;VI Memory Usage]&lt;br /&gt;
&lt;br /&gt;
[[Special:Uncategorizedpages]]&lt;/div&gt;</summary>
		<author><name>Jim Kring</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Refnum_descriptor&amp;diff=3508</id>
		<title>Refnum descriptor</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Refnum_descriptor&amp;diff=3508"/>
		<updated>2008-03-17T19:52:28Z</updated>

		<summary type="html">&lt;p&gt;Jim Kring: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following table lists the subtype codes used in the [[type descriptor]] of the [[refnum data type]].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Sub-Type Code&lt;br /&gt;
! Refnum Type&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| Generic&lt;br /&gt;
| the generic type 0x00 is generated only by getting the TD of the &amp;quot;Not a Refnum Constant&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| 0x01&lt;br /&gt;
| Datalog File Refnum&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| Byte Stream File Refnum&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x03&lt;br /&gt;
| Device Refnum&lt;br /&gt;
| used in legacy Serial VIs&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| Occurence Refnum&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x05&lt;br /&gt;
| TCP Connection Refnum&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x06&lt;br /&gt;
| VISA Refnum (Obsolete)&lt;br /&gt;
| obsolete VISA refnum type up to LabVIEW 5.1&lt;br /&gt;
|-&lt;br /&gt;
| 0x07&lt;br /&gt;
| Automation Refnum&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| VI Server Refnum&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x09&lt;br /&gt;
| Menu Refnum&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x0B&lt;br /&gt;
| IMAQ Session&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x0D&lt;br /&gt;
| DataSocket Refnum&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x0E&lt;br /&gt;
| VISA Resource&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x0F&lt;br /&gt;
| IVI Logical Name&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| UDP Connection Refnum&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x11&lt;br /&gt;
| Notifier Refnum&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x12&lt;br /&gt;
| Queue Refnum&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x13&lt;br /&gt;
| IrDA Refnum&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| Storage Refnum&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x15&lt;br /&gt;
| FieldPoint IO Point/Motion Resource&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x17&lt;br /&gt;
| Event Registration Refnum&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| .NET Refnum&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x19&lt;br /&gt;
| User Event Refnum&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x1B&lt;br /&gt;
| Event Callback&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x1F&lt;br /&gt;
| Bluetooth Refnum&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[type descriptor]]&lt;/div&gt;</summary>
		<author><name>Jim Kring</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Refnum_descriptor&amp;diff=3507</id>
		<title>Refnum descriptor</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Refnum_descriptor&amp;diff=3507"/>
		<updated>2008-03-17T19:39:55Z</updated>

		<summary type="html">&lt;p&gt;Jim Kring: New page: The following table lists the subtype codes used in the type descriptor of the refnum data type.  {| class=&amp;quot;wikitable&amp;quot; |- ! Sub-Type Code ! Refnum Type ! Description |- | 0x00 | Ge...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following table lists the subtype codes used in the [[type descriptor]] of the [[refnum data type]].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Sub-Type Code&lt;br /&gt;
! Refnum Type&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| Generic&lt;br /&gt;
| the generic type 0x00 is generated only by getting the TD of the &amp;quot;Not a Refnum Constant&amp;quot;. That&#039;s a bit annoying since it takes the place of the default value for &amp;quot;not a refnum type&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x01&lt;br /&gt;
| Datalog File Refnum&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| Byte Stream File Refnum&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x03&lt;br /&gt;
| Device Refnum&lt;br /&gt;
| used in legacy Serial VIs&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| Occurence Refnum&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x05&lt;br /&gt;
| TCP Connection Refnum&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x06&lt;br /&gt;
| VISA Refnum (Obsolete)&lt;br /&gt;
| obsolete VISA refnum type up to LabVIEW 5.1&lt;br /&gt;
|-&lt;br /&gt;
| 0x07&lt;br /&gt;
| Automation Refnum&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| VI Server Refnum&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x09&lt;br /&gt;
| Menu Refnum&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x0B&lt;br /&gt;
| IMAQ Session&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x0D&lt;br /&gt;
| DataSocket Refnum&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x0E&lt;br /&gt;
| VISA Resource&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x0F&lt;br /&gt;
| IVI Logical Name&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| UDP Connection Refnum&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x11&lt;br /&gt;
| Notifier Refnum&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x12&lt;br /&gt;
| Queue Refnum&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x13&lt;br /&gt;
| IrDA Refnum&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| Storage Refnum&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x15&lt;br /&gt;
| FieldPoint IO Point/Motion Resource&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x17&lt;br /&gt;
| Event Registration Refnum&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| .NET Refnum&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x19&lt;br /&gt;
| User Event Refnum&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x1B&lt;br /&gt;
| Event Callback&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x1F&lt;br /&gt;
| Bluetooth Refnum&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[type descriptor]]&lt;/div&gt;</summary>
		<author><name>Jim Kring</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Fixed-point_data_type&amp;diff=3501</id>
		<title>Fixed-point data type</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Fixed-point_data_type&amp;diff=3501"/>
		<updated>2008-03-15T04:00:46Z</updated>

		<summary type="html">&lt;p&gt;Jim Kring: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [[fixed-point]] numeric, first introduced to LabVIEW in version 8.5, is a data type for storing 64 bit, rational, decimal values with precision and range that vary based on the user&#039;s configuration of the numeric instance.  Fixed-point numerics are useful on platforms such FPGA&#039;s, which do not support floating point math.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*[http://zone.ni.com/reference/en-XX/help/371361D-01/lvhowto/fixed_point_numbers/ LabVIEW 8.5 Help&amp;gt;&amp;gt;Fixed-Point Numbers]&lt;br /&gt;
*[http://zone.ni.com/reference/en-XX/help/371361D-01/lvhowto/numeric_data_types_table/ LabVIEW 8.5 Help&amp;gt;&amp;gt;Numeric Data Types Table]&lt;br /&gt;
&lt;br /&gt;
[[category:data types]]&lt;/div&gt;</summary>
		<author><name>Jim Kring</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Fixed-point_data_type&amp;diff=3500</id>
		<title>Fixed-point data type</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Fixed-point_data_type&amp;diff=3500"/>
		<updated>2008-03-15T03:59:54Z</updated>

		<summary type="html">&lt;p&gt;Jim Kring: New page: The fixed-point numeric, first introduced to LabVIEW in version 8.5, is a data type for storing 64 bit, rational, decimal values with precision and range that vary based on the user&amp;#039;s ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [[fixed-point]] numeric, first introduced to LabVIEW in version 8.5, is a data type for storing 64 bit, rational, decimal values with precision and range that vary based on the user&#039;s configuration of the numeric instance.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*[http://zone.ni.com/reference/en-XX/help/371361D-01/lvhowto/fixed_point_numbers/ LabVIEW 8.5 Help&amp;gt;&amp;gt;Fixed-Point Numbers]&lt;br /&gt;
*[http://zone.ni.com/reference/en-XX/help/371361D-01/lvhowto/numeric_data_types_table/ LabVIEW 8.5 Help&amp;gt;&amp;gt;Numeric Data Types Table]&lt;br /&gt;
&lt;br /&gt;
[[category:data types]]&lt;/div&gt;</summary>
		<author><name>Jim Kring</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Time_stamp&amp;diff=3499</id>
		<title>Time stamp</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Time_stamp&amp;diff=3499"/>
		<updated>2008-03-15T03:50:19Z</updated>

		<summary type="html">&lt;p&gt;Jim Kring: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A [[time stamp]], first introduced to LabVIEW in version 7.0, is a data type for storing absolute time with high precision.  It is a time-zone-independent number of seconds that have elapsed since 12:00 a.m., Friday, January 1, 1904, Universal Time.  In memory, LabVIEW stores a time stamp as a cluster of four integers, where the first two integers (64 bits) represent the time-zone-independent number of complete seconds that have elapsed since 12:00 a.m., Friday, January 1, 1904, Universal Time. The next two integers (64 bits) represent the fractions of seconds.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*[http://zone.ni.com/reference/en-XX/help/371361D-01/lvhowto/numeric_data_types_table/ LabVIEW 8.5 Help&amp;gt;&amp;gt;Numeric Data Types Table]&lt;br /&gt;
&lt;br /&gt;
[[category:data types]]&lt;/div&gt;</summary>
		<author><name>Jim Kring</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Time_stamp&amp;diff=3498</id>
		<title>Time stamp</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Time_stamp&amp;diff=3498"/>
		<updated>2008-03-15T03:49:18Z</updated>

		<summary type="html">&lt;p&gt;Jim Kring: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A [[time stamp]], first introduced to LabVIEW in version 7.0, is a data type for storing absolute time with high precision.  It is a time-zone-independent number of seconds that have elapsed since 12:00 a.m., Friday, January 1, 1904, Universal Time.  In memory, LabVIEW stores a time stamp as a cluster of four integers, where the first two integers (64 bits) represent the time-zone-independent number of complete seconds that have elapsed since 12:00 a.m., Friday, January 1, 1904, Universal Time. The next two integers (64 bits) represent the fractions of seconds.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*[http://zone.ni.com/reference/en-XX/help/371361B-01/lvhowto/numeric_data_types_table/ LabVIEW 8.2 Help&amp;gt;&amp;gt;Numeric Data Types Table]&lt;br /&gt;
&lt;br /&gt;
[[category:data types]]&lt;/div&gt;</summary>
		<author><name>Jim Kring</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Variant_data_type&amp;diff=3497</id>
		<title>Variant data type</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Variant_data_type&amp;diff=3497"/>
		<updated>2008-03-14T23:26:25Z</updated>

		<summary type="html">&lt;p&gt;Jim Kring: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A [[variant]] is a data type that any other LabVIEW data type will coerce to and that can contain any other LabVIEW data type inside it.  In order to do useful things with variants, you will need to inspect the type descriptor to determine the actual data type flowing through the variant at run-time.  When working with variants, it is recommended to use tools such as the [http://wiki.openg.org/Oglib_lvdata OpenG LabVIEW Data (Variant) Tools Library].&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*[http://zone.ni.com/reference/en-XX/help/371361D-01/lvhowto/variants/ LabVIEW 8.5 Help&amp;gt;&amp;gt;Variant Data]&lt;br /&gt;
*[http://zone.ni.com/reference/en-XX/help/371361D-01/lvconcepts/handling_variant_data/ LabVIEW 8.5 Help&amp;gt;&amp;gt;Handling Variant Data]&lt;br /&gt;
*[http://zone.ni.com/reference/en-XX/help/371361D-01/glang/variant_functions/ LabVIEW 8.5 Help&amp;gt;&amp;gt;Variant Functions]&lt;br /&gt;
*[http://wiki.openg.org/Oglib_lvdata OpenG LabVIEW Data (Variant) Tools Library]&lt;br /&gt;
&lt;br /&gt;
[[category:data types]]&lt;/div&gt;</summary>
		<author><name>Jim Kring</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Variant_data_type&amp;diff=3496</id>
		<title>Variant data type</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Variant_data_type&amp;diff=3496"/>
		<updated>2008-03-14T23:25:55Z</updated>

		<summary type="html">&lt;p&gt;Jim Kring: New page: A variant is a data type that any other LabVIEW data type will coerce to and that can therefore contain any other LabVIEW data type inside it.  In order to do useful things with varian...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A [[variant]] is a data type that any other LabVIEW data type will coerce to and that can therefore contain any other LabVIEW data type inside it.  In order to do useful things with variants, you will need to inspect the type descriptor to determine the actual data type flowing through the variant at run-time.  When working with variants, it is recommended to use tools such as the [http://wiki.openg.org/Oglib_lvdata OpenG LabVIEW Data (Variant) Tools Library].&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*[http://zone.ni.com/reference/en-XX/help/371361D-01/lvhowto/variants/ LabVIEW 8.5 Help&amp;gt;&amp;gt;Variant Data]&lt;br /&gt;
*[http://zone.ni.com/reference/en-XX/help/371361D-01/lvconcepts/handling_variant_data/ LabVIEW 8.5 Help&amp;gt;&amp;gt;Handling Variant Data]&lt;br /&gt;
*[http://zone.ni.com/reference/en-XX/help/371361D-01/glang/variant_functions/ LabVIEW 8.5 Help&amp;gt;&amp;gt;Variant Functions]&lt;br /&gt;
*[http://wiki.openg.org/Oglib_lvdata OpenG LabVIEW Data (Variant) Tools Library]&lt;br /&gt;
&lt;br /&gt;
[[category:data types]]&lt;/div&gt;</summary>
		<author><name>Jim Kring</name></author>
	</entry>
	<entry>
		<id>https://labviewwiki.org/w/index.php?title=Info-LabVIEW&amp;diff=3449</id>
		<title>Info-LabVIEW</title>
		<link rel="alternate" type="text/html" href="https://labviewwiki.org/w/index.php?title=Info-LabVIEW&amp;diff=3449"/>
		<updated>2008-02-15T17:36:03Z</updated>

		<summary type="html">&lt;p&gt;Jim Kring: added a Milestone Posts section and a few postings to get things rolling&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
Info-LabVIEW is an independent mailing list to discuss LabVIEW. Tom Coradeschi, originally formed the list when LabVIEW ran on Macintosh computers only (National Instruments released LabVIEW for Windows in 1992). The list has been running now for over 16 years and has become a LabVIEW institution. Today, Info LabVIEW keeps thousands of subscribers talking to each other. Although the vast majority of LabVIEW programmers use Windows, Mac-specific questions still appear regularly.&lt;br /&gt;
&lt;br /&gt;
==Milestone Posts==&lt;br /&gt;
* [http://sthmac.magnet.fsu.edu/infolabview/ILVDigests/1991/02/14/Info-LabVIEW_Digest_1991-02-14_001.html First Message] (1991-02-14)&lt;br /&gt;
* [http://sthmac.magnet.fsu.edu/infolabview/ILVDigests/1994/05/11/Info-LabVIEW_Digest_1994-05-11_007.html Gary Johnson&#039;s story of writing LabVIEW Graphical Programming] (1994-05-11)&lt;br /&gt;
* [http://sthmac.magnet.fsu.edu/infolabview/ILVDigests/1999/05/27/Info-LabVIEW_Digest_1999-05-27_025.html Greg McKaskle&#039;s &amp;quot;Rusty Nails&amp;quot; post] (1999-05-27)&lt;br /&gt;
* [http://sthmac.magnet.fsu.edu/infolabview/ILVDigests/2006/08/14/Info-LabVIEW_Digest_2006-08-14_006.html  Jim Kring&#039;s announcement that LabVIEW for Everyone, 3rd edition ships] (2006-08-14)&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
*[[Info-LabVIEW mailing list archive]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
*[http://sthmac.magnet.fsu.edu/infolabview/subscribe.html Subscribe to Info-LabVIEW]&lt;br /&gt;
*[http://sthmac.magnet.fsu.edu/infolabview/ Info-LabVIEW home]&lt;br /&gt;
&lt;br /&gt;
[[Category:Communities]]&lt;/div&gt;</summary>
		<author><name>Jim Kring</name></author>
	</entry>
</feed>