<?xml version="1.0"?>
<rss version="2.0"><channel><title>LabVIEW Feature Suggestions Latest Topics</title><link>https://lavag.org/forum/37-labview-feature-suggestions/</link><description>LabVIEW Feature Suggestions Latest Topics</description><language>en</language><item><title>Fix the Find Dialog for numeric constants and support constant with units</title><link>https://lavag.org/topic/58960-fix-the-find-dialog-for-numeric-constants-and-support-constant-with-units/</link><description><![CDATA[<p>
	Open the search function (Ctrl+F) and browse for the "NaN" constant. A dialog pops up telling you this palette item is not supported by the Find Dialog...
</p>

<p>
	You can search for the "NaN" string and it will find all the NaN constants (plus all the occurrences of the "NaN" string).
</p>

<p>
	You can search for all other constants (pi, machine epsilon, +/-Inf, etc.), but not for the NaN constant, which is just a numeric constant with NaN typed in it.
</p>

<p>
	You can search for ALL numeric constants, but not for a specific one, say "1". Of course, you can search for all "1" strings in your code, and the constant 1 will show up among the search results, but it will be hidden in a long list of irrelevant results.
</p>

<p>
	And try to search for a constant with units... You can't. What would be nice is to look for a constant irrespective of its unit, as for instance 60 s = 1 min. Did I encode that time constant as 60 s or 1 min? I need to search for 60 AND 1 to find out.
</p>
]]></description><guid isPermaLink="false">58960</guid><pubDate>Tue, 22 Apr 2025 18:43:32 +0000</pubDate></item><item><title>Horizontal Scrolling hotkey</title><link>https://lavag.org/topic/8869-horizontal-scrolling-hotkey/</link><description><![CDATA[<p>Ctrl+scroll will toggle through cases/events/etc and shift+scroll is an accelerated scroll ... but I haven't found any way to scroll horizontally without mousing over the physical scrollbar. Let's make alt+scroll do something useful. <img src="https://lavag.org/uploads/emoticons/default_smile.png" alt=":)"></p>
<p></p>
]]></description><guid isPermaLink="false">8869</guid><pubDate>Thu, 20 Nov 2008 20:17:24 +0000</pubDate></item><item><title>Tree Control -- need Dropping Between Items and Drag Over events</title><link>https://lavag.org/topic/3806-tree-control-need-dropping-between-items-and-drag-over-events/</link><description><![CDATA[<p>Hello All,</p>
<p>I'm trying to figure out a way to achieve something that seems a little bit tricky.  In fact, the problem I'm having might be a bug.  Basically, I want to use the tree control's <strong>Allow Dropping Between Item</strong> feature (a built-in drag and drop function) along with the tree's <strong>Drag Over</strong> event which allows you to programmatically enable/disable the user's ability to drop the item that they are dragging.  Here is what the <strong>Allow Dropping Between Item</strong> feature looks like:</p>
<p></p>
<p style="text-align:left;"><a href="http://lavag.org/old_files/post-17-1156819605.png" rel=""><img src="http://lavag.org/old_files/post-17-1156819605.png?width=400" alt="post-17-1156819605.png?width=400"></a></p>
<p>The problem is that whenever I register for the <strong>Drag Over</strong> event, the <strong>Allow Dropping Between Item</strong> feature/behavior goes away.</p>
<p>Here is an example of the problem:</p>
<p><a href="http://lavag.org/old_files/post-17-1156820022.vi" rel="">Download File:post-17-1156820022.vi</a></p>
<p>FYI - I've tested in 8.0 and 8.2 and this behavior is the same in both versions.</p>
<p>Thanks :-)</p>
]]></description><guid isPermaLink="false">3806</guid><pubDate>Tue, 29 Aug 2006 03:53:24 +0000</pubDate></item><item><title>Comments in Configuration Files</title><link>https://lavag.org/topic/6231-comments-in-configuration-files/</link><description><![CDATA[<p>Hi,</p>
<p>i'm thinking about a  solution to write a comment on each line in a config file. I know there is no explicit standard for comments in a line but there are some usual solutions.....</p>
<p><span style="font-family:Arial;"><span style="font-size:12px;">[info]</span></span></p>
<p><span style="font-family:Arial;"><span style="font-size:12px;">Project=test                  #[Project name....]</span></span></p>
<p><span style="font-family:Arial;"><span style="font-size:12px;">Date=2007_09_27     #[YYYY_MM_DD]</span></span></p>
<p><span style="font-family:Arial;"><span style="font-size:12px;">Is there a chance to implement comments like that in the line of each entry?</span></span></p>
<p><span style="font-family:Arial;"><span style="font-size:12px;">Thanks</span></span></p>
<p><span style="font-family:Arial;"><span style="font-size:12px;">Claude</span></span></p>
]]></description><guid isPermaLink="false">6231</guid><pubDate>Tue, 02 Oct 2007 13:51:24 +0000</pubDate></item><item><title>The ability to adjust a numeric value by dragging the mouse</title><link>https://lavag.org/topic/22098-the-ability-to-adjust-a-numeric-value-by-dragging-the-mouse/</link><description><![CDATA[<p>
	Posted here: <a href="https://forums.ni.com/t5/LabVIEW-Idea-Exchange/idb-p/labviewideas/tab/most-recent" rel="external nofollow">https://forums.ni.com/t5/LabVIEW-Idea-Exchange/idb-p/labviewideas/tab/most-recent</a>
</p>

<p>
	There is a video linked in that post that pretty simple shows the behaviour. It is quite nice to use.
</p>

<p>
	If you like it please add your kudo on the Idea Exchange!
</p>
]]></description><guid isPermaLink="false">22098</guid><pubDate>Wed, 07 Jul 2021 18:30:53 +0000</pubDate></item><item><title>Block Diagram subdiagram label</title><link>https://lavag.org/topic/21486-block-diagram-subdiagram-label/</link><description><![CDATA[<p>
	I recently did a code review with <a contenteditable="false" data-ipshover="" data-ipshover-target="https://lavag.org/profile/17-jim-kring/?do=hovercard" data-mentionid="17" href="https://lavag.org/profile/17-jim-kring/" rel="">@Jim Kring</a> about upcoming Caraya 1.0 <span style="color:#999999;"><em>(yeah, I know, I'm using the opportunity to plug Caraya... shame on me)</em></span>, and when I showed him this block diagram, his eyes immediately caught the top comment I placed on the block diagram.<br>
	It took him less than two seconds to say something like: "You have to put that on the Idea Exchange." (Jim, let me know if I'm misquoting you)
</p>

<p>
	Indeed, the Block Diagram... erm... the Mother of All Diagrams... does not have a Subdiagram label property. I say this is a grave injustice.
</p>

<p>
	So anyhow, I wanted to share the paternity of this idea because without his enthusiasm, it would not be there:<br>
	<a href="https://forums.ni.com/t5/LabVIEW-Idea-Exchange/Subdiagram-label-for-Block-Diagrams-too/idi-p/4033465" rel="external nofollow">https://forums.ni.com/t5/LabVIEW-Idea-Exchange/Subdiagram-label-for-Block-Diagrams-too/idi-p/4033465</a>
</p>

<p>
	If you like it, please vote!
</p>

<p>
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="14710" data-ratio="68.86" width="1200" alt="image.png.d4515d95ddba485dba059da36c05384f.png" src="https://lavag.org/applications/core/interface/js/spacer.png" data-src="https://lavag.org/uploads/monthly_2020_04/image.png.d4515d95ddba485dba059da36c05384f.png">
</p>

<p>
	<br>
	 
</p>
]]></description><guid isPermaLink="false">21486</guid><pubDate>Tue, 07 Apr 2020 23:59:33 +0000</pubDate></item><item><title>typeless wire</title><link>https://lavag.org/topic/4563-typeless-wire/</link><description><![CDATA[<p>I would like to propose the typeless wire. Along with that comes a typeless control and indicator. Black might be a good colour. It's a bit like a template type in C, but then better because it's LabVIEW <img src="https://lavag.org/uploads/emoticons/default_smile.png" alt=":)"></p>
<p></p>
<p style="text-align:left;"><a href="http://lavag.org/old_files/monthly_01_2007/post-1555-1168804663.gif" rel=""><img src="http://lavag.org/old_files/monthly_01_2007/post-1555-1168804663.gif?width=400" alt="post-1555-1168804663.gif?width=400"></a></p>
<p>Actually the proposed wire is only typeless in the diagram of the VI concerned. As soon as the VI is placed somewhere as a subVI, the connections made to the VI determine the actual type of the wires inside the VI. For example, you could make a VI with a typeless input and output, place an array resize function in the VI that resizes a connected array to be able to set an element (as in picture above). It would work on any 1D array that is connected. Whether the VI is compilable or not depends on the type of wires that are connected where it is placed. The type of a typeless output terminal is also determined by these connections.</p>
<p>To keep the behaviour similar to normal VIs, the VI should lock like any other VI, so that only one instance can be running at a time. Extra code will be generated for the type of wires that are connected. There should not be completely different instances of code for each type, because a great part of the code can be shared between different types. The compiler can insert a branch instruction when a typeless wire is reached, to jump to the code required to execute an action for the wire of the specific type. </p>
<p>If you would connect a typeless wire to a shift register, each type would generate its own instance of the shift register. However, if a normal (typed) wire is connected to an another shift register in the same VI, that shift register is shared between all types. That way you could for example create a "generic" storage functional global.</p>
<p></p>
<p style="text-align:left;"><a href="http://lavag.org/old_files/monthly_01_2007/post-1555-1168804719.gif" rel=""><img src="http://lavag.org/old_files/monthly_01_2007/post-1555-1168804719.gif?width=400" alt="post-1555-1168804719.gif?width=400"></a></p>
<p>To be able to do different things for different connected types, the case structure could be used to switch between the various behaviours. It would then switch based on the wired type. E.g. if you create case frames for a DBL and a Boolean, the VI is compilable for those types. The wire is available in the case frame as of this type. It would allow you to return a string for both a double and a boolean: "3.14" and "True". If a type is connected to a typeless input of the VI for which there is no case frame, the VI is not compilable.</p>
<p>This mechanism as an alternative to polymorphic VIs. Polymorphics require multiple VI's, with often identical diagrams, which causes code duplication. Untyped wires allow to have only a single diagram for multiple types. They are easier to manage and understand, give smaller code and don't require all the types to be known and implemented beforehand.</p>
<p>Something for LV9 ?</p>
<p>Joris</p>
]]></description><guid isPermaLink="false">4563</guid><pubDate>Sun, 14 Jan 2007 20:19:24 +0000</pubDate></item><item><title>Quick One-Click Nodes Changing Loop Tunnel Mode</title><link>https://lavag.org/topic/21341-quick-one-click-nodes-changing-loop-tunnel-mode/</link><description><![CDATA[<p>
	When routing data out of a for or While loop, indexing is usually selected. A Simple LEFT-Click in the actual tunnel node should select the next (Last Value) and better yet, keep selecting the next available option (Concat, Conditional) (there are only 4)
</p>

<p>
	This would be a big time saver as 90% of the time when you don't want' indexing', you want 'Last Value' MUCH less cumbersome than 2 menus deep right click selections.
</p>

<p>
	Same logic as older one-click True-False Slider constants.
</p>

<p>
	 
</p>

<p>
	"One Click Nodes"
</p>
]]></description><guid isPermaLink="false">21341</guid><pubDate>Thu, 09 Jan 2020 21:27:59 +0000</pubDate></item><item><title>Concatenate 2D array horizontally</title><link>https://lavag.org/topic/10768-concatenate-2d-array-horizontally/</link><description><![CDATA[<p>I was working on something today and thought a "Concatenate Inputs Horizontally" would come in handy some times..</p>
<p><a class="ipsAttachLink ipsAttachLink_image" href="https://lavag.org/uploads/monthly_08_2009/post-5791-125010968917.png" rel="external nofollow"><img src="https://lavag.org/uploads/monthly_08_2009/post-5791-125010968917_thumb.png" data-fileid="%7B___base_url___%7D/applications/core/interface/file/attachment.php?id=570" class="ipsImage ipsImage_thumbnailed" alt="post-5791-125010968917_thumb.png"></a></p>
<p>That way I could get rid of these 3 transpose array functions.</p>
<p>I'm usually not on the cutting edge of thought...  something like this hasn't been discussed before, has it?</p>
<p>-James</p>
]]></description><guid isPermaLink="false">10768</guid><pubDate>Wed, 12 Aug 2009 20:52:07 +0000</pubDate></item><item><title>LabVIEW Idea Exchange</title><link>https://lavag.org/topic/10729-labview-idea-exchange/</link><description><![CDATA[<p>Many of the presenters at NI Week promoted the LabVIEW Idea Exchange <a href="http://forums.ni.com/ni/?category.id=ideas" rel="external nofollow">here</a>.</p>
<p>I have been reading, voting and posting to the idea exchange for awhile and just posted several new ideas/complaints that I thought of while attending NI Week.  I challenge all LAVA members to visit the exchange and vote for the ideas you agree with (especially mine  <img src="https://lavag.org/uploads/emoticons/default_wink.png" alt=";)"> ).  And if you don't agree, post a comment and tell me why!</p>
<p>Then post your own ideas so we can all vote of them too.</p>
<p>The more feedback we give, the better LabVIEW will be in the future.</p>
<p>-John</p>
]]></description><guid isPermaLink="false">10729</guid><pubDate>Sat, 08 Aug 2009 00:24:39 +0000</pubDate></item><item><title>Structure that allows constants to be generated at compile time.</title><link>https://lavag.org/topic/20434-structure-that-allows-constants-to-be-generated-at-compile-time/</link><description><![CDATA[<p>
	I posted <a href="https://forums.ni.com/t5/LabVIEW-Idea-Exchange/Structure-that-allows-constants-to-be-generated-at-compile-time/idi-p/3754934" rel="external nofollow">This</a> on the Idea exchange a few days ago. I have been wondering why no-one sees the need for constant generation at compile time. I think this would be especially useful in FPGA, but also for constants that need data from the build environment. Perhaps there is just a better way of doing these types of operations? Let me know what you think?
</p>

<blockquote class="ipsQuote" data-ipsquote="">
	<div class="ipsQuote_citation">
		Quote
	</div>

	<div class="ipsQuote_contents">
		<p>
			I envision a structure much like a case structure, in which you select your event for evaluating the code inside the structure and the values become constants at the node. The interior would allow code that may normally not be able to run on the host for example, on fpga it might allow the use of doubles and strings and resized arrays, because it isn't actually going to be executed on the host just evaluated and stored as a constant. This would allow for more configuration for fpga and even have some benefits at the traditional desktop environment. For example you could set the structure to evaluate on app build and produce a string constant that is the build date so the build date could be shown on UI to help distinguish builds. 
		</p>

		<p>
			<img alt="image.png" src="https://lavag.org/uploads/imageproxy/f0029d2be35f89e210b88b0d5c3a7198.png.3b52f224b68d97b2143d52862202be0b.png"></p>
	</div>
</blockquote>

<p>
	 
</p>
]]></description><guid isPermaLink="false">20434</guid><pubDate>Tue, 20 Feb 2018 15:47:39 +0000</pubDate></item><item><title>Help talk me into or out of this hack: a new conditional disable symbol</title><link>https://lavag.org/topic/20317-help-talk-me-into-or-out-of-this-hack-a-new-conditional-disable-symbol/</link><description><![CDATA[<p>
	<strong>The TL;DR is in bold.</strong>
</p>

<p>
	<span style="font-size:14px;"><strong>I want to add to the Conditional Disable structure a new built-in symbol that toggles when the VI's "Debug Enabled" setting is toggled.</strong></span><br><span style="font-size:14px;">I've wanted this for a long time, but I finally got around to opening up the code to see what's possible. </span>
</p>

<p>
	<span style="font-size:14px;">L</span><span style="font-size:14px;">et me take care of one question right away: I have no idea what version of LabVIEW this might or might not go into. So don't get excited. :-)</span>
</p>

<p>
	<span style="font-size:14px;">Anyway... it turns out, what I'd like to do isn't straightforward. All existing conditional disable symbols are global to the application instance. The three built-in symbols -- bitness, target, and run-time engine -- are universal to the running environment. The symbols that users can define are in the project and target. In other words, if I want to know the value of any symbol, I just need the reference to the application instance, not to a particular VI. And, guess what, all the C++ code is therefore oriented around application refnums not VI refnums. *sigh*</span>
</p>

<p>
	<span style="font-size:14px;">Now, it turns out that I can see a way to add the debug-enabled flag in a sort of sideways manner, and I would just hardcode that symbol as a special case in some parts of the code. </span>
</p>

<p style="text-align:center;">
	<span style="font-size:14px;"><em>RED FLAG! Alert! Developer has used the phrase "special case"!</em></span>
</p>

<p>
	<span style="font-size:14px;">One of my colleagues likes to refer to the "0, 1, Infinity Rule". That is, there are either zero cases of something, one case of something, or an infinite cases of something. There's never just 2. Or 3. Or any other finite number. Basically, as soon as you are prepping the second special case, your code needs to be architected to accept an infinite number of such special cases because otherwise, you're going to build up a huge number of unmaintainable hacks over time. If there really is just one special case, then the code generally remains maintainable. One special case isn't a hack... it's just the special case of the problem you're code is solving. The second special case is a hack. </span>
</p>

<p>
	<span style="font-size:14px;">I try to avoid hacking up the <abbr title="LabVIEW">LV</abbr> code base and developing more stuff that needs refactoring in the long-term, so I'm hesitating about working on this feature. With this in mind, I went to a couple of other dev and asked a question, and I want to ask the LAVA community the same question: </span>
</p>

<p>
	<span style="font-size:14px;"><strong>Besides "enable debugging," are there any other VI-specific settings that would cause you to want to change the actual code compiled into the block diagram? </strong></span>
</p>

<p>
	I honestly cannot think of any. Reentrancy? I don't typically change the reentrancy of a VI on a regular basis. A VI is either designed to be reentrant or not... flipping that switch usually changes how the node is used entirely. Thread affinity? I can't think of any VI where I have ever wanted to sometimes have the VI in UI thread and sometimes have it in Exec System One, and where I wanted different code in those cases. No one else I've asked has been able to come up with any scenarios for that sort of thing either. Oh, the hypothetical COULD exist, but hypothetically, I could want the font on all my numeric controls to become italic whenever the VI is set to "run when opened". It ain't a real use case. :-)
</p>

<p>
	One person suggested that there might not be VI-property-related settings that would want to change out code on the diagram, but maybe there is a case for user-defined symbols at the VI level? Maybe. But, honestly, the Diagram Disable structure pretty much covers the "I want to change out the behavior of this VI". Yes, we all know cases where we have code on the left half of the screen and code on the right-half of the screen, and we need a separate disable structure around those regions... but that's just as probable as having that right-side of the screen dropped into a subVI. The setting then is not a per-VI setting, but it is either a per-project setting (which we have today) or a per-library setting... and that I can easily imagine a use case for. Having a per-VI user-defined setting just seems problematic if you dropped the code into a subVI and lost the link between those two VIs. I hate adding any feature that discourages people from creating subVIs as needed! So I'm rejecting that use case. And the library use case, while a good one, is outside the scope of what I'm asking about today. Go put it on the Idea Exchange if you want to promote it. :-)
</p>

<p>
	Which brings me back to the "debug enabled" setting. That setting can be programmatically toggled when doing a build (if you go into the custom per-item settings because NI doesn't have an easy single-checkbox for you) and frequently we do things while debugging that would just slow down a release build. Which means it makes sense to write code into the VI that could be either compiled in or compiled out based on the VI's debug settting, unlike any of the other settings.
</p>

<p>
	So... brainstorms anyone? And please be honest. Even if you want this specific feature, and you think, "Well, if I present this valid use case, it means he won't put in his hack, so I'm cutting my own throat," trust me... for the long-haul, you'd rather <abbr title="LabVIEW">LV</abbr> develop as cleanly as possible, for the sake of your own trust in it!
</p>
]]></description><guid isPermaLink="false">20317</guid><pubDate>Fri, 06 Oct 2017 17:46:35 +0000</pubDate></item><item><title>Arrow line in 3d picture control</title><link>https://lavag.org/topic/20214-arrow-line-in-3d-picture-control/</link><description><![CDATA[<p>
	Hello,
</p>

<p>
	I am new  to labview, I am trying to use 3d picture control  so i want to know  in that 3d picture  an arrow line from z-axis should come in picture  and also an angle which shows  from z axis  it should come programatically
</p>

<p>
	 can any one please help me with this
</p>

<p><a href="https://lavag.org/uploads/monthly_2017_07/angle.gif.fb436e8e6b1ce6a34a8837c6b5e8ccaa.gif" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="12537" src="https://lavag.org/uploads/monthly_2017_07/angle.gif.fb436e8e6b1ce6a34a8837c6b5e8ccaa.gif" class="ipsImage ipsImage_thumbnailed" alt="angle.gif"></a></p>]]></description><guid isPermaLink="false">20214</guid><pubDate>Mon, 24 Jul 2017 05:03:41 +0000</pubDate></item><item><title>Type parameters</title><link>https://lavag.org/topic/11292-type-parameters/</link><description><![CDATA[<p>Hi</p>
<p>I posted a new article to ExpressionFlow regarding type parameters. For me it is the one of the most missed features in LabVIEW. Check out the post.</p>
<p><a href="/b%3Eressionflow.com/2009/10/23/introduction-to-type-parameters/" rel="external nofollow"></a></p>
<p>Introduction to Type Parameters</p>
<p>EDIT: Seems like the links to expressionlfow still don't work from LAVA. Please copy paste from below</p>
<p>expressionflow.com/2009/10/23/introduction-to-type-parameters/</p>
<p>Tomi</p>
]]></description><guid isPermaLink="false">11292</guid><pubDate>Fri, 23 Oct 2009 13:33:47 +0000</pubDate></item><item><title>Conditional Disable in build settings</title><link>https://lavag.org/topic/7454-conditional-disable-in-build-settings/</link><description><![CDATA[<p>It would be nice if I could set the conditional disable settings in the build settings.</p>
<p>This would allow for multiple build settings that could incorporate into a single project file.</p>
<p>I have the feeling this can be done with separate lvproj files but that feels like a workaround.</p>
<p>Any thoughts on this?</p>
<p>Ton</p>
]]></description><guid isPermaLink="false">7454</guid><pubDate>Wed, 16 Apr 2008 13:00:24 +0000</pubDate></item><item><title>Request: name any VI you've written where you wish special behavior for unwired terminals was available</title><link>https://lavag.org/topic/19941-request-name-any-vi-youve-written-where-you-wish-special-behavior-for-unwired-terminals-was-available/</link><description><![CDATA[<p>
	There is a feature I've wanted in LabVIEW for a long time, pretty much since I started programming in G: The ability to have an unwired input terminal have meaning.
</p>

<p>
	Currently, if you leave an input terminal unwired, you set it to Recommended and you give the control a default value. That doesn't really mean the user left the terminal unwired... they could have wired the default value. That doesn't really help when, for example, all possible integers are valid values for the input. You end up having to add a second Boolean terminal for "should pay attention to integer?" or something like that. Even when you do have a valid sentinel, you may have to add code to check "is the input value the sentinel?" in the middle of your executing code, which is a small but annoying performance hit, and one that can ooch up over time. Think of how many times we check error input terminals and how much of that code could be dead code eliminated if only subVIs generated code specific to their callers. That's a *minor* example. There are a lot more interesting algorithmic changes that are possible for an unwired terminal... some of the built-in primitives of LabVIEW have very different behavior when inputs are left unwired.
</p>

<p>
	Currently, if you leave an output terminal unwired, LabVIEW doesn't care... the value of that output gets computed anyway when the subVI is called because the subVI has only one code path. This has lead me to have to have extra terminals on input for "should compute output X?". You can fix this sometimes by marking the subVI to be "inline" and then when you turn off debugging, the computation code likely gets dead code eliminated. But not always. If the computation involves a refnum, it won't get dead code eliminated. And if there are interim data structures along the way that you populate, those will still get built up if they're part of a downstream terminal that is wired. The compiler probably (IMO) will never be smart enough to analyze and do that level of elimination until the compiler is sentient. So some sort of computation here would be valuable, I think.
</p>

<p>
	I've investigated this before and always hit some limits. I'm thinking I might make another run at figuring out how this could work. No promises, but there's some new ideas out there on code optimization that I might be able to leverage.
</p>

<p>
	The unwired output case is pretty straightforward... <strong>I'm not too interested in <u>unwired output</u> cases <u>unless</u></strong> you have one that is radically different from "this output is expensive to compute so I only want to do this part of this larger algorithm when that output is wired".
</p>

<p>
	<strong>I am interested in <u>unwired input</u> use cases.</strong>
</p>

<p>
	So as part of my brainstorm on this topic (and to gauge whether or not this would have benefit to users other than myself!), I'm curious to hear about any VIs y'all have written where being able to program in unwired terminal behavior would have been useful for you.
</p>

<p>
	There's no deadline on this. I am just sort of musing on this topic lately. I don't know if it will lead to any <abbr title="LabVIEW">LV</abbr> features. I just want to explore this particular topic more.
</p>
]]></description><guid isPermaLink="false">19941</guid><pubDate>Wed, 04 Jan 2017 19:35:52 +0000</pubDate></item><item><title>Kudos value in the Idea Exchange</title><link>https://lavag.org/topic/16408-kudos-value-in-the-idea-exchange/</link><description><![CDATA[<p></p><div style="margin-left:1px;">Q: What is the value of a Kudo in the </div><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/idb-p/labviewideas" rel="external nofollow"></a><div style="margin-left:1px;"><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/idb-p/labviewideas" rel="external nofollow">Idea Exchange</a></div><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/idb-p/labviewideas" rel="external nofollow"></a><div style="margin-left:1px;">?</div> <div style="margin-left:1px;">A: Not much.</div>
<p></p><div style="margin-left:1px;">I've made an interesting observation.</div>
<p></p><div style="margin-left:1px;">Roughly a month ago, two ideas were proposed within a day of each other.  My suggestion was that </div><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Always-place-Error-Wires-underneath-other-wires/idi-p/2214142" rel="external nofollow"></a><div style="margin-left:1px;"><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Always-place-Error-Wires-underneath-other-wires/idi-p/2214142" rel="external nofollow">Error Wires should be placed under other wires</a></div><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Always-place-Error-Wires-underneath-other-wires/idi-p/2214142" rel="external nofollow"></a><div style="margin-left:1px;">, and Darin suggested that the </div><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Allow-Wiring-to-Determine-Property-Node-Read-Write/idi-p/2215438" rel="external nofollow"></a><div style="margin-left:1px;"><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Allow-Wiring-to-Determine-Property-Node-Read-Write/idi-p/2215438" rel="external nofollow">Read/Write status of property nodes should be determined by how you wire them</a></div><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Allow-Wiring-to-Determine-Property-Node-Read-Write/idi-p/2215438" rel="external nofollow"></a><div style="margin-left:1px;">. Both ideas were fairly straight-forward, both are coding-related, both had a simple image and clear explanation, and as of now, both have attracted about the same number of comments (12 vs 16) and kudos (65 vs 70).  I haven't fully compared the kudos, but it appears there's even about the same number of NI voters and "high-rank" voters for each.</div>
<p></p><div style="margin-left:1px;">However, and I don't think it would be just my opinion, Darin's idea is infinitely more useful and valuable than mine.  It's an idea that would allow faster and easier programming, and be a noticeable improvement.  Whereas error wire layering - it would be "nice" if it was implemented, but it's just cosmetic, not a game-changer.  Yet they've attracted about the same number of kudos.</div>
<p></p><div style="margin-left:1px;">So I can now understand when AQ and other NI reps say that popularity of an idea is a pretty poor indication of its value.</div>
<p></p><div style="margin-left:1px;">PS - go vote for </div><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Allow-Wiring-to-Determine-Property-Node-Read-Write/idi-p/2215438" rel="external nofollow"></a><div style="margin-left:1px;"><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Allow-Wiring-to-Determine-Property-Node-Read-Write/idi-p/2215438" rel="external nofollow">Darin's idea</a></div><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Allow-Wiring-to-Determine-Property-Node-Read-Write/idi-p/2215438" rel="external nofollow"></a><div style="margin-left:1px;"> if you haven't already.</div>
]]></description><guid isPermaLink="false">16408</guid><pubDate>Wed, 12 Dec 2012 21:11:59 +0000</pubDate></item><item><title>Strongly require Zoom function in diagram</title><link>https://lavag.org/topic/19121-strongly-require-zoom-function-in-diagram/</link><description><![CDATA[<p>Thus users can easily zoom in and out simply by using Ctrl+Scroll button(Mouse Middle button), just like AutoCAD.</p>]]></description><guid isPermaLink="false">19121</guid><pubDate>Sat, 25 Jul 2015 10:12:23 +0000</pubDate></item><item><title>TestStand should update step status in every loop interval</title><link>https://lavag.org/topic/19097-teststand-should-update-step-status-in-every-loop-interval/</link><description><![CDATA[<p>I am using TestStand 2010 so if this information is not correct for later version, please help me remove this topic.</p>
<p> </p>
<p>In TestStand, when there is a step does not run because of previous condition step like "If", the status of that step will be left as empty. This returns a clear visual affect, in debugging, that this step has not run. But if I have a condition step and another step under this condition. If in the first interval this step ran and in the second interval this step didn't run, it still keep the status from the first run interval.If I just put a break point at the begin of the loop and click play instead of go through each step, I will think that these step ran in the second interval. Should it be better if there is a flag or something indicates that this step did not run at all?</p>
<p> </p>
<p>Regards,</p>
<p>Thang Nguyen</p>
]]></description><guid isPermaLink="false">19097</guid><pubDate>Fri, 10 Jul 2015 14:26:19 +0000</pubDate></item><item><title>Functional Dataflow Programming with LabVIEW</title><link>https://lavag.org/topic/17804-functional-dataflow-programming-with-labview/</link><description><![CDATA[<p>When I originally selected the name for my blog ExpressionFlow back many years ago, what I had in mind was functional dataflow programming and the ability to pass any subdiagrams (expressions) around as first class citizens of the language. Functional programming languages (haskell, clojure, lisp) have a lot in common with dataflow world. In principle, calling a function in a functional language is identical to calling a node in a visual language. Passing data between functions happens in an immutable way in functional languages, similar to the concept of data flowing between nodes in a flow-based programming languages. Monads determine execution order of functions with side effects, the same way as flow diagrams determine the execution order of nodes in LabVIEW.</p>
<p> </p>
<p>Functional programming is often seen as an alternative to object oriented programming. One can solve similar problems of dynamic dispatching either by passing functions around or passing objects with methods around. There are of course multi-paradigm languages supporting both objects and functions like Clojure and Scala. So what would LabVIEW look like if it supported concepts of functional programming paradigm? I posted an article on this on ExpressionFlow and I am intending to study the concept on ExpressionFlow in my future posts. </p>
<p> </p>
<p>Would you use functional LabVIEW if such a language existed?</p>
<p> </p>
<p>My post on how a functional programming could appear in a visual dataflow language:</p>
<p> </p>
<p><strong><a href="http://expressionflow.com/2013/12/01/synchronous-functional-dataflow-programming-closures-of-named-functions/" rel="external nofollow">Synchronous Functional Dataflow Programming &amp; Closures of Named Functions</a></strong></p>
<p> </p>
<p><a class="ipsAttachLink ipsAttachLink_image" href="https://lavag.org/uploads/monthly_12_2013/post-4014-0-66830000-1386130732.png" rel="external nofollow"><img src="https://lavag.org/uploads/monthly_12_2013/post-4014-0-66830000-1386130732_thumb.png" data-fileid="%7B___base_url___%7D/applications/core/interface/file/attachment.php?id=8776" class="ipsImage ipsImage_thumbnailed" alt="post-4014-0-66830000-1386130732_thumb.pn"></a></p>
<p> </p>
<p><span style="font-size:12px;">p.s. See <a href="http://www.joelonsoftware.com/items/2006/08/01.html" rel="external nofollow">Joel's quick intro to functional programming</a> if you are unfamiliar with the concept of functional programming.</span></p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
]]></description><guid isPermaLink="false">17804</guid><pubDate>Wed, 04 Dec 2013 04:21:30 +0000</pubDate></item><item><title>If LV could detect race conditions, should we break the VI?</title><link>https://lavag.org/topic/18580-if-lv-could-detect-race-conditions-should-we-break-the-vi/</link><description><![CDATA[<p>Let me start by saying what I mean by "race condition": two processes (or threads or execution paths or <em>&lt;your favorite term here&gt;</em>) both simultaneously read some bit of data representing system state, then modify the system state accordingly, and when both are finished, the new state of the system depends upon which one executed first.</p>
<p> </p>
<p>That is a very broad definition. Most users know the trivial case: you have a global variable representing some sort of counter, and you have two processes, Alpha and Beta, both wanting to increment the value. If the starting value is "1", then the ending value is expected to be "3". The race occurs here:</p>
<ul><li>Process Alpha reads the counter: value =1.</li>
<li>Process Beta reads the counter: value =1.</li>
<li>Alpha adds 1 to the value it read and gets 2.</li>
<li>Beta adds 1 to the value it read and gets 2.</li>
<li>Alpha writes to the counter: value = 2.</li>
<li>Beta writes to the counter: value = 2.</li>
</ul><p>Oops. But there can be much more subtle bugs. For example:</p>
<ul><li>Alpha is a Producer Loop</li>
<li>Beta is a Consumer Loop</li>
<li>Beta checks "Is the queue empty?" to decide whether it has finished processing all the data.</li>
<li>At some point, Beta is just a bit faster than Alpha and the queue empties, so Beta decides to quit, thinking it is done with all the data.</li>
<li>Alpha adds more items to the queue, but Beta never processes them.</li>
</ul><p>Race conditions are notoriously hard for users to catch. They have historically been just as hard for compilers to notice in all but the most trivial conditions. As the LabVIEW compiler has gotten better at its analysis over the years, I see some potential for the compiler to recognize when a bit of memory is potentially being used by multiple execution paths in "a race condition like manner". I'm using that deliberately vague term because the definition of what exactly constitutes a race condition may be part of the conversation here.</p>
<p> </p>
<p>If the <abbr title="LabVIEW">LV</abbr> compiler knows beyond a shadow of a doubt that some egregious behavior, such as an unprotected global VI or shared variable being used for read-modify-write in multiple execution paths, should LabVIEW break the VI? Is that a compiler error? Or is it something more like a coercion dot that should be highlighted but not ruled out? To put it another way: Are there race conditions that you have in code that are desirable conditions? Is that because it is just too hard to program the right way? Or do you have some where the correct program really is one where execution order should matter to program output? If the robot's right hand grabs the apple a microsecond before its left hand grabs the orange, are there cases where it is correct for that to affect which one it chooses to serve you for lunch?</p>
]]></description><guid isPermaLink="false">18580</guid><pubDate>Sun, 12 Oct 2014 20:05:15 +0000</pubDate></item><item><title>Suppose we limited 1 event structure per block diagram?</title><link>https://lavag.org/topic/17781-suppose-we-limited-1-event-structure-per-block-diagram/</link><description><![CDATA[<p>So, you have an event structure in a loop. It's handling your UI events.</p>
<p> </p>
<p>In theory, you can have multiple event loops on the same block diagram. In practice, I've never seen anyone actually do this.</p>
<p> </p>
<p>Do people do this? How bad would it hurt if we said, "Nope... you can only have one event structure per VI." ?</p>
<p> </p>
<p>I am not saying we're going to make this change. There's a lot of brainstorming going on around possible new features and that aspect of events is causing some difficulties, and I want to know how much flexibility we have to play with the design.</p>
]]></description><guid isPermaLink="false">17781</guid><pubDate>Mon, 25 Nov 2013 22:33:35 +0000</pubDate></item><item><title>Seeking instances of nearly identical code on the same diagram</title><link>https://lavag.org/topic/17012-seeking-instances-of-nearly-identical-code-on-the-same-diagram/</link><description><![CDATA[<p>We all know about the pain of having to write two nearly identical VIs, differing only by some single function or some data type and the code maintenance burden that creates. There's lots of discussion about what <abbr title="LabVIEW">LV</abbr> could do about that.</p>
<p> </p>
<p><strong>Today I'm asking about a different problem entirely.</strong> I want to hear about (and if possible, see posted pictures of) VIs where you have multiple blocks of nearly the same code over and over. Maybe its some manual pipelining that you've done, or for some reason you manually unrolled several instances of a loop. Perhaps you have six copies of your UI on the front panel and so you have six identical event structure loops on the block diagram. These are the trivial cases that I can rattle off the top of my head.</p>
<p> </p>
<p>Do you have examples of places where you had to ctrl+drag blocks of code? They can be the same block of code exactly or code that you duplicated and then tweaked each copy. Regardless, it needs to be on the same block diagram.</p>
<p> </p>
<p>Why am I looking for these? There are a couple categories of code replication that R&amp;D has identified as a priority to do "something" about to make writing and maintaining such code easier. The current proposals would address some fairly specific niches on FPGAs, but we think we can create a feature that is much more powerful with about the same amount of effort, but we need VIs as fodder for analysis.</p>
<p> </p>
<p>So, if you have a VI with such replicated code and you don't mind discussing it and/or posting pictures of it, please, load 'em up in this thread.</p>
]]></description><guid isPermaLink="false">17012</guid><pubDate>Fri, 02 Aug 2013 20:31:48 +0000</pubDate></item><item><title>Moral assertions for code</title><link>https://lavag.org/topic/16957-moral-assertions-for-code/</link><description><![CDATA[<p>A programming language that looks a lot like other programming languages but requires a very strict *moral* code. Please let me know if you think this is a feature that should be added to LabVIEW. It would not be hard.</p>
<p> </p>
<p><a href="https://github.com/munificent/vigil" rel="external nofollow">https://github.com/munificent/vigil</a></p>
<p> </p>
<p>"Infinitely more important than mere syntax and semantics are its addition of <strong>supreme moral vigilance</strong>. This is similar to contracts, but less legal and more medieval."</p>
]]></description><guid isPermaLink="false">16957</guid><pubDate>Thu, 11 Jul 2013 15:55:05 +0000</pubDate></item><item><title>Apply Icon Changes to Child Implementations</title><link>https://lavag.org/topic/13089-apply-icon-changes-to-child-implementations/</link><description><![CDATA[<p>So, I'm doing really menial work right now, but the perfectionist in me demands I do it.</p>
<p>Might be going a little crazy while doing it though.</p>
<p>But I had an idea.</p>
<p>So I <a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Apply-Icon-to-Child-Implementations/idi-p/1251518" rel="external nofollow">posted</a> it.</p>
<p>Basically, when editing the icon of a dynamic dispatch VI, I'd like to automatically be able to apply an icon change to all child implementations. Not unlike how icon changes propagate through all objects when you edit a library icon, only you know, now for dynamic dispatch VIs.</p>
<p>You all agree?</p>
<p>Oh man, that last one I fixed is off by one pixel relative to its parent...</p>
<p>-m</p>
]]></description><guid isPermaLink="false">13089</guid><pubDate>Thu, 16 Sep 2010 21:22:51 +0000</pubDate></item><item><title>NI Week Idea Exchange Vote</title><link>https://lavag.org/topic/15950-ni-week-idea-exchange-vote/</link><description><![CDATA[<p>I won't be at NI Week, but I had an idea.</p>
<p>What if NI were to take the top 10 or so ideas from the Idea Exchange and allow attendees to vote by show of hands, robot controlled ping-pong ball machine or stones in a pile.</p>
<p>The top voted idea would be assigned to a group and delivered in the next product cycle.</p>
<p>I feel lately that the only Idea Exchange entries that get any attention at all are the easy "low hanging fruit" ones.</p>
<p>Why not listen to the community more? I don't need VeriStand, a G to C Code generator or web based SilverLight tools.</p>
<p>I DO need things like SSL/SSH and Amish controls...</p>
]]></description><guid isPermaLink="false">15950</guid><pubDate>Tue, 17 Jul 2012 16:55:33 +0000</pubDate></item><item><title><![CDATA[An idea on the exchange I&#39;m wondering if everyone overlooked]]></title><link>https://lavag.org/topic/15732-an-idea-on-the-exchange-im-wondering-if-everyone-overlooked/</link><description><![CDATA[<p>An idea got posted last week for improving conditional compilation symbols. I saw it today as I was reading my backlog of ideas, and I quickly Kudos'd it. Then I noticed I was the only the second person who kudos'd it. Really? I would have thought that an ability to set constants in the project file and use them on the block diagram would have generated more interest. Is this really something that most of you would not use? [Note that other ideas posted after this one have 25 to 44 kudos on them, so I'm sure people have been looking at the Exchange during this time, but just passing over this idea.]</p>
<p><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Project-Defines-or-Project-Variables/idc-p/1982619#M18012" rel="external nofollow">http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Project-Defines-or-Project-Variables/idc-p/1982619#M18012</a></p>
]]></description><guid isPermaLink="false">15732</guid><pubDate>Tue, 08 May 2012 18:47:20 +0000</pubDate></item><item><title>Feedback request - allow libraries to protect references they create</title><link>https://lavag.org/topic/15212-feedback-request-allow-libraries-to-protect-references-they-create/</link><description><![CDATA[<p>I want to post the following idea to the IE, but before I do, I would like some feedback.</p>
<p>There are times when we might want to expose a reference from inside a library (e.g. a queue or an event which will provide some data to someone), but doing so allows the non-member VI to close the reference:</p>
<p><a class="ipsAttachLink ipsAttachLink_image" href="https://lavag.org/uploads/monthly_11_2011/post-1431-0-87762600-1321542696.png" rel="external nofollow"><img src="https://lavag.org/uploads/monthly_11_2011/post-1431-0-87762600-1321542696.png" data-fileid="%7B___base_url___%7D/applications/core/interface/file/attachment.php?id=5901" class="ipsImage ipsImage_thumbnailed" alt="post-1431-0-87762600-1321542696.png"></a></p>
<p>In some cases this can be avoided (e.g. in the queue case you can output an object and a wrapper around the dequeue primitive, so that the caller doesn't have the queue reference and can't destroy it), but this can't be always avoided (e.g. the event reference).</p>
<p>For such cases I would like to propose that libraries gain a new option:</p>
<p><a class="ipsAttachLink ipsAttachLink_image" href="https://lavag.org/uploads/monthly_11_2011/post-1431-0-70297300-1321542727.png" rel="external nofollow"><img src="https://lavag.org/uploads/monthly_11_2011/post-1431-0-70297300-1321542727_thumb.png" data-fileid="%7B___base_url___%7D/applications/core/interface/file/attachment.php?id=5902" class="ipsImage ipsImage_thumbnailed" alt="post-1431-0-70297300-1321542727_thumb.pn"></a></p>
<p>When this option is checked, any function which closes a reference (close reference, close file, release queue, etc.) will check if the reference was created in a member VI and in that case will only close the reference if it is called from a member VI. If it's called from another VI, it will not close the reference and will instead return an error. This will allow libraries to guarantee that references that they created remain valid as long as they don't close them explicitly.</p>
<p>A couple of comments:</p>
<ol style="list-style-type:decimal;"><li>The example shows a class, but this should probably apply to all classes. At least XControls can probably gain from this.<br></li>
<li>Named references will behave like other references, so if you open two references to the same notifier, one inside the library and one outside it, the one opened outside it can be destroyed by anyone (although I'm not sure how the Force Destroy input should behave in such a scenario. Does anyone have thoughts on this?).<br></li>
</ol><p></p>
<p>What do people think of this?</p>
]]></description><guid isPermaLink="false">15212</guid><pubDate>Thu, 17 Nov 2011 15:23:25 +0000</pubDate></item><item><title><![CDATA[Why is this idea not getting more kudos? &#34;Pause on first error option for debugging&#34;]]></title><link>https://lavag.org/topic/15127-why-is-this-idea-not-getting-more-kudos-pause-on-first-error-option-for-debugging/</link><description><![CDATA[<p>This appeared on the Idea Exchange last week.</p>
<p><strong>	Pause on first Error - option for debugging</strong></p>
<p><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Pause-on-first-Error-option-for-debugging/idi-p/1751590" rel="external nofollow">http://forums.ni.com...g/idi-p/1751590</a></p>
<p>Why only 10 kudos? The page has had more views than that. When I saw this, I immediately thought of all the times I had tried after the fact to decipher a call chain or gone into a VI and deliberately deleted all my error wires just so that Automatic Error Handling would trap my error on the spot. If this worked like an Execution Highlighting button on the button bar, I think it would be great. Thus, I'm posting this idea here on LAVA to give it a second chance at exposure.</p>
]]></description><guid isPermaLink="false">15127</guid><pubDate>Mon, 31 Oct 2011 12:39:18 +0000</pubDate></item><item><title>A slew of ideas about the new Asynch Call By Ref</title><link>https://lavag.org/topic/14705-a-slew-of-ideas-about-the-new-asynch-call-by-ref/</link><description><![CDATA[<p>Here's a list of ideas that just appeared on the Idea Exchange... they're all from a user "jcase", whose name is in blue, meaning he's an NI employee. JCase is the main developer of the new ACBR feature. As you might guess from the list of ideas, he sees a lot of ways that the ACBR could be extended in the future...</p>
<p><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Allow-Remote-Asynchronous-Calls/idi-p/1662414" rel="external nofollow"><strong>Allow Remote Asynchronous Calls</strong></a><strong> </strong></p>
<p><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Allow-Asynchronous-Call-By-Reference-with-Strict-Static-VI/idi-p/1662372" rel="external nofollow"><strong>Allow Asynchronous Call By Reference with Strict, Static VI Reference</strong></a></p>
<p><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Add-Asynchronous-Call-By-Reference-to-Call-Setup-Dialog/idi-p/1662362" rel="external nofollow"><strong>Add Asynchronous Call By Reference to Call Setup Dialog</strong></a></p>
<p><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Typeless-Call-By-Reference-and-Asynchronous-Call-By-Reference/idi-p/1662360" rel="external nofollow"><strong>Typeless Call By Reference and Asynchronous Call By Reference</strong></a></p>
<p><a href="http://forums.ni.com/t5/user/viewprofilepage/user-id/23936" rel="external nofollow">[/url]</a></p>
<p><strong><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Add-Timeout-Input-to-Wait-On-Asynchronous-Call-Node/idi-p/1662358" rel="external nofollow">Add Timeout Input to Wait On Asynchronous Call Node</a></strong></p>
<p><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Integrate-Asynchronous-Call-By-Reference-with-Event-Structure/idi-p/1662356" rel="external nofollow"></a><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Add-Timeout-Input-to-Wait-On-Asynchronous-Call-Node/idi-p/1662358" rel="external nofollow"><strong>Integrate Asynchronous Call By Reference with Event Structure</strong></a></p>
<p><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Add-Timeout-Input-to-Wait-On-Asynchronous-Call-Node/idi-p/1662358" rel="external nofollow">Please kudos as you see fit...</a></p>
]]></description><guid isPermaLink="false">14705</guid><pubDate>Mon, 08 Aug 2011 14:45:42 +0000</pubDate></item><item><title>Install Driver to drive other than C:</title><link>https://lavag.org/topic/14663-install-driver-to-drive-other-than-c/</link><description><![CDATA[<p>It would be so nice if it was possible to <strong>actually</strong> install the drivers to some other disk than c:</p>
<p>In the screeenshot below, I chose d: as my installation destination.</p>
<p><a class="ipsAttachLink ipsAttachLink_image" href="https://lavag.org/uploads/monthly_08_2011/post-17162-0-76544800-1312268899.png" rel="external nofollow"><img src="https://lavag.org/uploads/monthly_08_2011/post-17162-0-76544800-1312268899_thumb.png" data-fileid="%7B___base_url___%7D/applications/core/interface/file/attachment.php?id=4897" class="ipsImage ipsImage_thumbnailed" alt="post-17162-0-76544800-1312268899_thumb.p"></a></p>
<p>Mike</p>
]]></description><guid isPermaLink="false">14663</guid><pubDate>Tue, 02 Aug 2011 07:11:26 +0000</pubDate></item><item><title>Manage Instrument Drivers with VI Package Manager (VIPM)</title><link>https://lavag.org/topic/13681-manage-instrument-drivers-with-vi-package-manager-vipm/</link><description><![CDATA[<p>There's an IMHO excellent new idea over on the LabVIEW Idea Exchange about managing instrument drivers in VIPM, but taking it one step further: including Instrument Driver Network (IDNET) components there by default.  Since (again, IMHO) drivers are reuasble components just like any other reusable component, I think it makes sense.  Take a lookat what is being suggested <a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Manage-Instrument-Drivers-with-VI-Package-Manager-VIPM/idi-p/1420436" rel="external nofollow">here</a>.</p>]]></description><guid isPermaLink="false">13681</guid><pubDate>Wed, 19 Jan 2011 20:21:48 +0000</pubDate></item><item><title>Save XControl data to disk method</title><link>https://lavag.org/topic/7150-save-xcontrol-data-to-disk-method/</link><description><![CDATA[<p>As a LabVIEW developer, I try to store user settings to disc (a usefull tool from i2dx is <a href="http://forums.lavag.org/downloads-file39.html" rel="external nofollow">here</a>).</p>
<p>If I use XControls I have no direct access over the contents of the Variant data that is stored inside the VI.</p>
<p>If the XControl developer has exported all the possible changes and properties of all it's sub-types as XControl Properties, I could save and reload.</p>
<p>It would be nice if there was an XControl method that would export the local data to a variant thould could be stored to disc. This could be prohibited by a setting in the .xctl file.</p>
<p>Any thougths?</p>
<p>Ton</p>
]]></description><guid isPermaLink="false">7150</guid><pubDate>Fri, 29 Feb 2008 18:16:24 +0000</pubDate></item><item><title>Format Painter for FP and BD objects</title><link>https://lavag.org/topic/13616-format-painter-for-fp-and-bd-objects/</link><description><![CDATA[<p>Please Kudo <a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Format-Painter-for-FP-and-BD-objects-think-Word-Excel-format/idi-p/1001995" rel="external nofollow">this suggestion</a>. I think it's a great idea and should be seriously investigated by NI for future implementation. Perhaps in 2012.</p>
<p>I'd also like to see some programmatic support as well. Via a scripting property. Copy and paste properties. It should be smart so that it ignores incompatible properties instead of failing.</p>
<p><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Format-Painter-for-FP-and-BD-objects-think-Word-Excel-format/idi-p/1001995" rel="external nofollow">http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Format-Painter-for-FP-and-BD-objects-think-Word-Excel-format/idi-p/1001995</a></p>
]]></description><guid isPermaLink="false">13616</guid><pubDate>Wed, 05 Jan 2011 22:14:50 +0000</pubDate></item><item><title><![CDATA[Ideas on LV Idea Exchange have started moving to &#34;In Development&#34;]]></title><link>https://lavag.org/topic/13320-ideas-on-lv-idea-exchange-have-started-moving-to-in-development/</link><description><![CDATA[<p>If you want to check out the current list of "in development" ideas, click here:</p>
<p><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/idb-p/labviewideas/status-key/indevelopment/tab/most-kudoed" rel="external nofollow">http://forums.ni.com/t5/LabVIEW-Idea-Exchange/idb-p/labviewideas/status-key/indevelopment/tab/most-kudoed</a></p>
<p>This will pull up a list of ideas filtered to those with status set to "In Development". The list is short this year -- please remember what NI folks have said since the NI Week keynote: <abbr title="LabVIEW">LV</abbr> 2011 is going to be a stability and performance focused release. Even though only a few new features are going in, the ones that made the cut are going to put a smile on a few faces. I know that I'm already enjoying that on my development box I can -- wait for it -- save and then undo! Applause for the pair of really bright developers who figured out that little trick. Anyway, take a look -- there's something in there for everyone.</p>
]]></description><guid isPermaLink="false">13320</guid><pubDate>Tue, 02 Nov 2010 22:18:55 +0000</pubDate></item><item><title>Idea may get adopted by NI, but needs customer comments</title><link>https://lavag.org/topic/13129-idea-may-get-adopted-by-ni-but-needs-customer-comments/</link><description><![CDATA[<p>There's an idea on the Exchange that we're thinking of doing in <abbr title="LabVIEW">LV</abbr> 2011, but we've run into some usability stumbling blocks with exactly how the feature should behave. Please follow the link and read the post from ChethanR about the options that R&amp;D is considering for this feature. None of them seem to be the right thing, yet.</p>
<p><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Create-type-def-from-block-diagram-constant/idc-p/1256064#M7875" rel="external nofollow">http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Create-type-def-from-block-diagram-constant/idc-p/1256064#M7875</a></p>
]]></description><guid isPermaLink="false">13129</guid><pubDate>Wed, 22 Sep 2010 15:42:58 +0000</pubDate></item><item><title>Vote for this idea if you use SVN and VI Analyzer</title><link>https://lavag.org/topic/13087-vote-for-this-idea-if-you-use-svn-and-vi-analyzer/</link><description><![CDATA[<p>If you use SVN and VI Analyzer, you should consider voting for this idea:<a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Let-VI-Analyzer-ignore-paths-matching-patterns/idc-p/1251344#M7775" rel="external nofollow"></a></p>
<p></p>
<p><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Let-VI-Analyzer-ignore-paths-matching-patterns/idc-p/1251344#M7775" rel="external nofollow">http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Let-VI-Analyzer-ignore-paths-matching-patterns/idc-p/1251344#M7775</a></p>
]]></description><guid isPermaLink="false">13087</guid><pubDate>Thu, 16 Sep 2010 18:54:49 +0000</pubDate></item><item><title><![CDATA[Do you wish &#34;Create SubVI From Selection&#34; worked better?]]></title><link>https://lavag.org/topic/13060-do-you-wish-create-subvi-from-selection-worked-better/</link><description><![CDATA[<p>Darren Nattinger (he of <a href="http://decibel.ni.com/content/docs/DOC-4002" rel="external nofollow">Darren's Nuggets</a> fame) and I need your help. </p>
<p>Darren is known for writing useful VI plug-ins for LabVIEW. I've had a history of creating hooks in the C++ code for calling plug-in VIs. He and I both dislike the current behavior of the Create SubVI From Selection feature. It doesn't know about the config token for preferred connector panes, it doesn't put error terminals at the bottom and class/refnum terminals at the top, it sometimes names a control "error out" and an indicator "error in", and the panel isn't laid out as clean as we might like. These are all things that could be fixed in the C++ code, but spare  developers are always hard to come by, and Darren already has some G  code for doing this work. Thus it made sense for the two of us to work out an interface from C++ to G to improve Create SubVI From Selection. In our spare time, we've found the right place in the C++ code to hook, figured out the data that needs to go across the interface, and gotten the code pretty close to finished. Once we knew it was going to work, we asked for permission to add it as a feature in 2011.</p>
<p>That's where we hit a problem we cannot solve alone.</p>
<p>As many of you have heard, LabVIEW 2011 is focusing on being a stabilization and performance release. Very few new features are being let in the door. The one gate that new features have is the Idea Exchange. The feature has to be limited in the amount of code it has to touch. It has to avoid performance degradation. And it has to be something customers clearly want. We can show two of those three requirements, but not the third. Without the third, the feature does not meet the goals for <abbr title="LabVIEW">LV</abbr> 2011, so even though Darren and I have the new callback hooks largely ready to go, the code cannot go in. </p>
<p>This makes us sad. I mean, it makes perfect sense -- we have to have standards, and limiting the features for this release is important -- but it still makes us sad.</p>
<p>"Create SubVI" is an area of LabVIEW that many of you have asked me about over the years, hoping that <abbr title="LabVIEW">LV</abbr> could do a better job. Darren and I really want to see this feature go into <abbr title="LabVIEW">LV</abbr> 2010, and we're pretty sure that there are enough of you out there that would like to see it too. If we could get the Kudos on the idea up so that the idea is in the top 15, we will be able to make the argument that this is a feature that users strongly want. Now, not every idea with high kudos is automatically blessed in the 2011 release, but with enough Kudos, we think we can get permission to proceed.</p>
<p>There are 3 ideas on the idea exchange that are all affected by this idea, but let's focus on the one that has the highest kudos already:</p>
<p><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Create-a-proper-connector-pane-when-doing-Edit-gt-Create-subVI/idi-p/919959" rel="external nofollow">Create a proper connector pane when doing Edit -&gt; Create subVI</a></p>
<p>As of right now, that's got <strong>79 kudos</strong>. To make it into the top 15, we need 160 kudos, or almost exactly double what it has right now. I think this is an idea whose time has come. If you agree, please contact your friends. Make peace with your enemies. Call your mother. Encourage them all to take a moment to go vote for this idea. </p>
<p>If you're super ambitious, there are two other related ideas that would also be aided by our feature. You could go vote for them too. But focus on the big one first!</p>
<p><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Provide-a-way-to-define-the-default-connector-pane/idi-p/923198" rel="external nofollow">Provide a way to define the default connector pane</a></p>
<p><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Edit-gt-gt-Create-SubVI-Tweaks/idi-p/938728" rel="external nofollow">Edit &gt;&gt; Create SubVI: Tweaks</a></p>
<p><strong><span style="font-size:18px;">Help make Mercer and Nattinger unsad! Help improve Create SubVI! Vote now!</span></strong></p>
]]></description><guid isPermaLink="false">13060</guid><pubDate>Fri, 10 Sep 2010 22:47:28 +0000</pubDate></item><item><title>NaN constant</title><link>https://lavag.org/topic/12832-nan-constant/</link><description><![CDATA[<p>I have had a need to make an array of NaNs several times and would think that this might be a useful addition to the math constants already there.  It makes it easier to do checking to seem how many elements were actually assigned values at least once via the isNaN operator.</p>]]></description><guid isPermaLink="false">12832</guid><pubDate>Wed, 04 Aug 2010 18:48:18 +0000</pubDate></item><item><title>Multicolumn List Box with objects</title><link>https://lavag.org/topic/12833-multicolumn-list-box-with-objects/</link><description><![CDATA[<p>Several times I've written code in C++ to make a custom stringgrid where the columns were checkboxes for T/F entry, and other columns were strings and yet other columns were dropdown list boxes of numerical values while another one was of enumerated types.  I sure wish that the multicolmn list box had the ability to insert  various types objects in addition to strings for each column in the list box!  As it stands now I am usually making a cluster of controls (type def'd) where each cluster is represents a column in a 2D table of objects where.   The gymnastics of finding the index to the control in the cluster controls[] property and then using this index into all the other clusters to process a line entry into the 2D table is quite interesting if one is basing actions on mouse events on an element of the table.</p>]]></description><guid isPermaLink="false">12833</guid><pubDate>Wed, 04 Aug 2010 18:59:14 +0000</pubDate></item><item><title><![CDATA[Allow user to specify location of &#34;LabVIEW Data&#34; folder]]></title><link>https://lavag.org/topic/12705-allow-user-to-specify-location-of-labview-data-folder/</link><description><![CDATA[<p>So, I've been working at home today, and LabVIEW has been an absolute slug of a beast when connected to my VPN. I think I tracked it down that it's because NI insists on keeping the LabVIEW Data location in the document root. If I disconnect from my VPN, LabVIEW runs like a champ, but as soon as I'm connected (meaning I'm no longer working off a local cached version of my documents, but a live remote version), LabVIEW freezes up for a split second every five seconds or so. If something large is being serialized, the IDE can freeze for up to the better half of a minute at a time. It's absolutely infuriating.</p>
<p>This results in a painful development process. I must disconnect my VPN all the time so I can use the IDE. But then I must reconnect so I can commit changes, etc, then disconnect, reconnect, disconnect, ad nauseum.</p>
<p>I mean really? Who stores information like that in the document root anyways? Why can't I put LabVIEW Data somewhere off my user root, like I don't know, in the LOCAL applications settings, which is where it should be anyways?</p>
]]></description><guid isPermaLink="false">12705</guid><pubDate>Sun, 11 Jul 2010 22:49:25 +0000</pubDate></item><item><title>Description and Tip Appearance</title><link>https://lavag.org/topic/5624-description-and-tip-appearance/</link><description><![CDATA[<p>It would be nice if a wire or other BD object had a slightly different appearance to indicate whether there is a Description and/or Tip associated with it.</p>
<p>Cross-posted from <a href="http://forums.lavag.org/Description-and-Tip-t8490.html&amp;pid=31882#entry31882" rel="external nofollow"></a><a href="http://lavag.org/topic/5616-description-and-tip/page__view__findpost__p__32016" rel="">here</a>, per Michael's suggestion.</p>
]]></description><guid isPermaLink="false">5624</guid><pubDate>Thu, 21 Jun 2007 12:59:24 +0000</pubDate></item><item><title><![CDATA[24 Great Ideas from NI&#39;s LV Idea Exchange for you to Kudos]]></title><link>https://lavag.org/topic/12607-24-great-ideas-from-nis-lv-idea-exchange-for-you-to-kudos/</link><description><![CDATA[<p>I've reviewed all of the 1140 ideas currently on the <abbr title="LabVIEW">LV</abbr> Idea Exchange. I've picked out 24 ideas that have fewer than 100 Kudos that I think are good ideas that, for whatever reason, have been overlooked by the community. If you have been daunted by the sheer number of ideas, here's a reduced set for you to take a look at and consider kudos'ing. Taking a few minutes to review them might just help your <abbr title="LabVIEW">LV</abbr> experience in the future:</p>
<p><a href="http://forums.ni.com/t5/LabVIEW/24-Great-Ideas-from-Idea-Exchange-for-you-to-Kudos/m-p/1154123#U1154123" rel="external nofollow">http://forums.ni.com/t5/LabVIEW/24-Great-Ideas-from-Idea-Exchange-for-you-to-Kudos/m-p/1154123#U1154123</a></p>
]]></description><guid isPermaLink="false">12607</guid><pubDate>Tue, 22 Jun 2010 00:03:10 +0000</pubDate></item><item><title>Introduce subprojects or packages as hierarchical elements in projects</title><link>https://lavag.org/topic/12455-introduce-subprojects-or-packages-as-hierarchical-elements-in-projects/</link><description><![CDATA[<p>I just sent a product suggestion to NI and added the same as a comment to an existing topic in the idea exchange:</p>
<p>Idea Exchange Link: <a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Sub-projects-Cross-project-builds/idc-p/1136911#C5717" rel="external nofollow">Subprojects/Cross project builds</a></p>
<p>My text:</p>
<p><strong><span style="font-size:12px;"><span style="font-family:'Times New Roman';">Introduce subprojects or packages as hierarchical elements in projects</span></span></strong></p>
<p><strong><span style="font-family:'Times New Roman';"><span style="font-size:12px;"> </span></span></strong></p>
<p><span style="font-family:'Times New Roman';"><span style="font-size:12px;">Please introduce the ability to incorporate a project as a subproject or package within another project.  This functionality is critical for effective code reuse and maintainability.</span></span></p>
<p><span style="font-family:'Times New Roman';"><span style="font-size:12px;"> </span></span></p>
<p><span style="font-family:'Times New Roman';"><span style="font-size:12px;">As an example of why this is important, I offer the following:</span></span></p>
<p><span style="font-family:'Times New Roman';"><span style="font-size:12px;"> </span></span></p>
<p><span style="font-family:'Times New Roman';"><span style="font-size:12px;">We have created a class ComponentData and a number of associated classes and other files.  We neatly package these in a file structure on disk and in virtual folders in a LabVIEW project.  [Note that we use virtual folders since in principle, at least, we can use a given class in different ways in different projects.]</span></span></p>
<p><span style="font-family:'Times New Roman';"><span style="font-size:12px;"> </span></span></p>
<p><span style="font-family:'Times New Roman';"><span style="font-size:12px;">Now ComponentData and its associated classes are common classes that we created precisely for reuse between components, each of which we define in its own project.  We encounter an issue when we attempt to reuse ComponentData and its associated elements, however.</span></span></p>
<p><span style="font-family:'Times New Roman';"><span style="font-size:12px;"> </span></span></p>
<p><span style="font-family:'Times New Roman';"><span style="font-size:12px;">We can create a project (call it Component.lvproj) and attempt to incorporate this project into a new project for a particular component.  This, however, is not useful, since it merely creates a link to Component.lvproj and does not import any of the elements of Component.lvproj into the larger project.</span></span></p>
<p><span style="font-family:'Times New Roman';"><span style="font-size:12px;"> </span></span></p>
<p><span style="font-family:'Times New Roman';"><span style="font-size:12px;">Alternatively, we can copy the virtual folder hierarchy containing ComponentData and its associated classes and other files into the new project.  This does explicitly import the elements, but simply copying virtual folders in this manner does not support maintenance needs.  While it is true that if we edit the class definition in one project it will update in all callers (each class correctly has a single definition), unfortunately other changes (moving or renaming virtual folders, moving elements between folders, and so on) we make in one project will not reflect in other projects.  This approach is wrong in principle as well as in practice because we end up with multiple independent definitions of the same thing.  (The definition should exist in only one place.)</span></span></p>
<p><span style="font-family:'Times New Roman';"><span style="font-size:12px;"> </span></span></p>
<p><span style="font-family:'Times New Roman';"><span style="font-size:12px;">What should happen is that we should be able to define a subproject or package and import it into a project, such that:</span></span></p>
<p><span style="font-family:'Times New Roman';"><span style="font-size:12px;">1)</span></span><span style="font-family:'Times New Roman';">  	</span><span style="font-family:'Times New Roman';"><span style="font-size:12px;">the package elements are now accessible in the larger project (portable)</span></span></p>
<p><span style="font-family:'Times New Roman';"><span style="font-size:12px;">2)</span></span><span style="font-family:'Times New Roman';">  	</span><span style="font-family:'Times New Roman';"><span style="font-size:12px;">any changes to the subproject or package will appear in all referencing projects (single definition)</span></span></p>
<p><span style="font-family:'Times New Roman';"><span style="font-size:12px;">3)</span></span><span style="font-family:'Times New Roman';">  	</span><span style="font-family:'Times New Roman';"><span style="font-size:12px;">any part of a particular package may itself become a subpackage itself (hierarchical)</span></span></p>
<p><span style="font-family:'Times New Roman';"><span style="font-size:12px;"> </span></span></p>
<p><span style="font-family:'Times New Roman';"><span style="font-size:12px;">[Note: As I write I realize that using autopopulating folders (which are inappropriate for the reason mentioned above) can satisfy 1 and 2 to some extent but not 3.]</span></span></p>
<p><span style="font-family:'Times New Roman';"><span style="font-size:12px;"> </span></span></p>
<p><span style="font-family:'Times New Roman';"><span style="font-size:12px;">A wonderful example of what I propose exists in a UML design tool we use called Enterprise Architect (and almost certainly within many UML tools).  Within a given project we define a hierarchical layer of packages.  (In UML each package, like a LabVIEW project, has an XML definition.)  At whichever level we choose, we can choose to add a package to version control.  (In our case the tool interfaces to the CollabNet client to a Subversion repository.  The CollabNet client is open-source, free, and certified, by the way, and is a much better client than the horrible PushOK client currently available for Subversion connections from LabVIEW).  When we want to reuse a package in another project, we simply pick the package we want from version control.  (We can select a lower-level package if we don’t want the entire hierarchy.)  To make sure the package is up to date we simply invoke a command to update the package from the pop-up menu.  This works quite well.</span></span></p>
<p><span style="font-family:'Times New Roman';"><span style="font-size:12px;"> </span></span></p>
<p><span style="font-family:'Times New Roman';"><span style="font-size:12px;">Summary: The ability to import subprojects or packages in a hierarchical manner is critical for effective code reuse and maintenance.  We consider this a quite essential feature of any project paradigm in any software development environment.  The benefits to users (and therefore to NI) are many and the drawbacks are, well, none.  Please ensure this becomes a feature of a version of LabVIEW in the very near future.</span></span></p>
<p>_____</p>
<p>I am curious to hear what others think.</p>
<p>In particular, I think this functionality is critical and essential, and very definitely belong natively in a LabVIEW project.</p>
<p>I suggest that autopopulating folders are not the solution.</p>
<p>I suggest that the LabVIEW project must support this functionality--natively!  (As I write I wonder if VIPM does this.  It very well may, but at least the part I am asking for I think obviously belongs in the project itself).</p>
<p>In any case, please comment on the thread at NI Ideas (rather than here)!</p>
<p>Thanks!</p>
<p>Paul</p>
]]></description><guid isPermaLink="false">12455</guid><pubDate>Wed, 26 May 2010 21:23:09 +0000</pubDate></item><item><title>LabVIEW Feature Idea: Case Insensitive String Comparison Mode for Equal?</title><link>https://lavag.org/topic/12353-labview-feature-idea-case-insensitive-string-comparison-mode-for-equal/</link><description><![CDATA[<p>Here is a link to the idea:</p>
<p><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Case-Insensitive-Comparison-Mode-for-String-Equality-Comparison/idi-p/1121574#A5477" rel="external nofollow">http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Case-Insensitive-Comparison-Mode-for-String-Equality-Comparison/idi-p/1121574#A5477</a></p>
<p>Thanks for checking this out.</p>
]]></description><guid isPermaLink="false">12353</guid><pubDate>Fri, 30 Apr 2010 04:07:18 +0000</pubDate></item><item><title><![CDATA[Real time wiring movement &amp; cleanup]]></title><link>https://lavag.org/topic/1297-real-time-wiring-movement-cleanup/</link><description><![CDATA[<p>Over the years i've gotten accustomed to living with certain rude behaviors in LabVIEW. For example, when you move an object around on the diagram with your mouse, you have to go back and cleanup the mess that LabVIEW left behind. It seems I'm constantly walking around with a virtual pooper scooper of sorts.   <img src="https://lavag.org/uploads/emoticons/default_rolleyes.gif" alt=":rolleyes:"></p>
<p>Here's what I mean. Below you can see a simple VI with a typical assortment of wires attached. This a simple example of the best case scenario - few wires. </p>
<p></p>
<p style="text-align: left;"><a class="noborder" href="http://lavag.org/old_files/post-2-1089692883.gif" target="_blank" rel=""><img src="http://lavag.org/old_files/post-2-1089692883.gif?width=400" alt="post-2-1089692883.gif?width=400"></a></p> <p>If I then click and drag the VI to a different position on the diagram, I get multiple overlapping wires. </p>
<p></p>
<p style="text-align: left;"><a class="noborder" href="http://lavag.org/old_files/post-2-1089693034.gif" target="_blank" rel=""><img src="http://lavag.org/old_files/post-2-1089693034.gif?width=400" alt="post-2-1089693034.gif?width=400"></a></p> <p>Yes, this is normal behavior but I think it can be done better. The next image is the proffered reaction to my move. </p>
<p></p>
<p style="text-align: left;"><a class="noborder" href="http://lavag.org/old_files/post-2-1089693325.gif" target="_blank" rel=""><img src="http://lavag.org/old_files/post-2-1089693325.gif?width=400" alt="post-2-1089693325.gif?width=400"></a></p> <p>As you can see the wires have wrapped themselves to the proper position. Of course this would happen in real time. As you move the VI, you would see the wires wrapping and moving as you drag the mouse. I could best demonstrate with an animation but I am not a computer animator. <img src="https://lavag.org/uploads/emoticons/default_smile.png" alt=":)"> Also, in combination with this feature, it would be nice if each object (VI, function etc.) had a no-fly zone. What I mean by this is shown in the next image. </p>
<p></p>
<p style="text-align: left;"><a class="noborder" href="http://lavag.org/old_files/post-2-1089693751.gif" target="_blank" rel=""><img src="http://lavag.org/old_files/post-2-1089693751.gif?width=400" alt="post-2-1089693751.gif?width=400"></a></p> <p>The red border designates an area where the wires must come straight out of the VI. This means that no other wires can go behind the object or pass near the object's no-fly zone. This would force clean diagrams since it would be impossible to have objects overlapping wires. The next image shows an extreme object movement and how the wires would auto-wrap into position.  </p>
<p></p>
<p style="text-align: left;"><a class="noborder" href="http://lavag.org/old_files/post-2-1089694340.gif" target="_blank" rel=""><img src="http://lavag.org/old_files/post-2-1089694340.gif?width=400" alt="post-2-1089694340.gif?width=400"></a></p> <p>Also note that the terminal is also an object so would have a no-fly zone as well. </p>
<p>Yes, I'm dreaming... I can only hope. :thumbup:</p>
]]></description><guid isPermaLink="false">1297</guid><pubDate>Tue, 13 Jul 2004 05:53:24 +0000</pubDate></item><item><title>Saved Searches and Results (in the Find Dialog)</title><link>https://lavag.org/topic/11895-saved-searches-and-results-in-the-find-dialog/</link><description><![CDATA[<p>You can learn more about my feature suggestion and show your support by giving it your kudos/votes on the LabVIEW Idea Exchange:</p>
<p><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Saved-Searches-and-Results/idi-p/1068144" rel="external nofollow">http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Saved-Searches-and-Results/idi-p/1068144</a></p>
<p>Thanks!</p>
]]></description><guid isPermaLink="false">11895</guid><pubDate>Mon, 08 Feb 2010 17:37:56 +0000</pubDate></item><item><title>Support for Additional 3rd Party Installers when building an Installer</title><link>https://lavag.org/topic/11874-support-for-additional-3rd-party-installers-when-building-an-installer/</link><description><![CDATA[<p>You can learn more about my feature suggestion and show your support by giving it your kudos/votes on the LabVIEW Idea Exchange:</p>
<p><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Support-for-Additional-3rd-Party-Installers-when-building-an/idi-p/1065737#A4036" rel="external nofollow">http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Support-for-Additional-3rd-Party-Installers-when-building-an/idi-p/1065737#A4036</a></p>
<p>Thanks!</p>
]]></description><guid isPermaLink="false">11874</guid><pubDate>Wed, 03 Feb 2010 22:40:24 +0000</pubDate></item><item><title>New wire type, the Null wire</title><link>https://lavag.org/topic/9570-new-wire-type-the-null-wire/</link><description><![CDATA[<p>With all of this talk about error wires and data flow it has made me think about a different type of wire and connector type that could be useful. There are times in code that certain tasks that don't really share data need to be sequenced. One way of doing this is to pass the error cluster through however the subVIs in question don't generate errors and will do no harm (other than wasting some CPU cycles) from running if an error was present. Another way of doing this is by using sequence frames. However in general sequence frames are not very desirable for many reasons. So I was thinking that a new wire and connector type could be useful for these type of situations. The wire type would be the Null wire (or some other name such as sequence wire) that doesn't actually pass data but rather only imparts a sequence flow on a set of VIs. This wire would be a semitransparent gray wire which would clearly indicate that there is no data present.</p>
<p>A good example of this would be where you want to time a given task. The "Get Time/Date In Seconds" VI only has a single output, the time. So in order to time a task we generally have to place a flat sequence frame down with the Get Time in the first and third frames and our task in the second one. This generally takes up quite a bit of diagram space. However if we could attach an arbitrary connector to any subVI we choose, we could impart the sequencing required to accomplish our task where no true data flow exists. The digram would be far less cluttered than the one with the bulky sequence frame as well. This would be useful in cases where no data dependencies exist and the value of creating a warpper subVI or enclosing sequence frame (which just looks ugly) or creating a separate state in a state machine just isn't warranted. This sequence wire would not require an actual connector on the connector pane as it could be arbitrayily atteached to a subVI.</p>
<p>Effectively this is the same as the flat sequence frame but much less obtrusive on the block diagram.</p>
<p>I would be interested in hearing what others think about this concept.</p>
]]></description><guid isPermaLink="false">9570</guid><pubDate>Fri, 27 Feb 2009 17:31:24 +0000</pubDate></item><item><title>Idea exchange Idea status</title><link>https://lavag.org/topic/11014-idea-exchange-idea-status/</link><description><![CDATA[<p>NI has started changing the status of ideas in the ideas exchange to "<a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/idb-p/labviewideas/status-key/indevelopment" rel="external nofollow">in-development</a>". keep track of them here:</p>
<p><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/idb-p/labviewideas/status-key/indevelopment" rel="external nofollow">Ideas marked In-Development</a></p>
<p><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/idb-p/labviewideas/status-key/new" rel="external nofollow">New Ideas</a></p>
<p><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/idb-p/labviewideas/status-key/completed" rel="external nofollow">Completed Ideas</a></p>
]]></description><guid isPermaLink="false">11014</guid><pubDate>Thu, 17 Sep 2009 18:42:06 +0000</pubDate></item><item><title>MAX Virtual Channels and Scales (Max and Min)</title><link>https://lavag.org/topic/10441-max-virtual-channels-and-scales-max-and-min/</link><description><![CDATA[<p>Setting up scales with virtual channels in Measurement and Automation Explorer(MAX) could be more intuitive. I would like a change in the hierarchy of these settings.</p>
<p>IDEALLY, I would want to set up a virtual channel with the Min and Max value in RAW voltage, rather than the min and max values that are dependent on the scaled value. </p>
<p>I usually know the voltage range/gain settings I am expecting on each channel, but sometimes add the custom scale later. This is a pain to go back and change the min and max values accordingly. </p>
<p>For example, say I have 3 voltage channels with an expected range of -1V to 1V. (I set these up in virtual channels). Now,  assuming  each channel has a unique custom scale,  I have to go and select the scale and THEN I have to go back and modify each channel's min and max value. Before I knew better, I would forget this step and some of my scaled measurements would appear to be saturated at the raw voltage measurement. Also, a change in this custom scale doesn't propagate these min and max values through any channels that is using this scale!</p>
]]></description><guid isPermaLink="false">10441</guid><pubDate>Mon, 13 Jul 2009 09:42:15 +0000</pubDate></item><item><title>LabVIEW wire labels</title><link>https://lavag.org/topic/10426-labview-wire-labels/</link><description><![CDATA[<p>I know that this has to have been wished for before. It would be nice if we could attach labels to wires so that when we move a wire the label would go with it</p>]]></description><guid isPermaLink="false">10426</guid><pubDate>Fri, 10 Jul 2009 23:04:50 +0000</pubDate></item><item><title>LAVA Members LabVIEW wish list</title><link>https://lavag.org/topic/1028-lava-members-labview-wish-list/</link><description><![CDATA[<p>LabVIEW 7 was released today. Many of the new features were requested user items. Has NI got it right? Are these the features you had requested as advanced developers?</p>
<p>The wish lists for the last 2 NIWEEK shows have been attached. We will compile a new list to submit to this years NIweek 2003. I would like you to review the previous lists and submit any suggestions to this thread. This way we can avoid duplication.</p>
<p>The previous wish lists were a collection of enhancements recommended by the Northern California LAVA group. This time, it would be great to update this list and remove the items already included in LV7. It would also be good to have all 3 LAVA groups collaborate on this new document. Please review the lists and submit any comments you have here.</p>
<p><a href="http://lavag.org/old_files/post-14-1073112163.zip" rel="">Download File:post-14-1073112163.zip</a></p>
]]></description><guid isPermaLink="false">1028</guid><pubDate>Tue, 20 May 2003 22:09:24 +0000</pubDate></item><item><title>Let the ideas develop here, vote at NI.com</title><link>https://lavag.org/topic/10208-let-the-ideas-develop-here-vote-at-nicom/</link><description><![CDATA[<p>NI has setup a web site where you can submit <a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/idb-p/labviewideas" rel="external nofollow">ideas,</a></p>
<p>I think it is a good idea to develop an idea here and then submit the idea to the NI site, so we can all vote on it. Use the mass of LAVA to provide NI with valuable feedback!</p>
<p>Perhaps an <em>Idea of the month/quarter</em> contest is a good form?</p>
<p>Ton</p>
]]></description><guid isPermaLink="false">10208</guid><pubDate>Tue, 02 Jun 2009 08:18:24 +0000</pubDate></item><item><title>True/False constants and other philosophical questions...</title><link>https://lavag.org/topic/10061-truefalse-constants-and-other-philosophical-questions/</link><description><![CDATA[<p>Why does the Boolean palette include both a True constant and a False constant?</p>
<p>Why does a numeric constant in the BD default to I32, while a control/indicator on the FP defaults to a double?</p>
<p>Thank you to whomever changed the Compound Arithmetic so that it defaults to a logical operation when selected from the Boolean palette, and an arithmetic operation when selected from the Numeric palette.</p>
]]></description><guid isPermaLink="false">10061</guid><pubDate>Fri, 08 May 2009 18:30:24 +0000</pubDate></item><item><title>Exclusive Range for a Case Structure</title><link>https://lavag.org/topic/9974-exclusive-range-for-a-case-structure/</link><description><![CDATA[<p>I looked around and was surprised to find this hasn't been mentioned anywhere. By default, you can create numeric ranges by setting the case to be, say, "..0" to include zero and any number less than zero. I think it'd be handy to have exclusive ranges as well. Yes, there was always alternate ways to implement the logic, but that can get messy. Can't come up with any good notation for it, though. Maybe "1.,10" is the same as [1,10)?</p>
<p></p>
]]></description><guid isPermaLink="false">9974</guid><pubDate>Sat, 25 Apr 2009 16:56:24 +0000</pubDate></item><item><title>Want to be able to use the "create" action on groups of controls</title><link>https://lavag.org/topic/9773-want-to-be-able-to-use-the-create-action-on-groups-of-controls/</link><description><![CDATA[<p>I know in the recent versions of LabVIEW you can select a group of controls and edit properties on them. This is great.</p>
<p>Even better would be to be able to:</p>
<p></p>
<ul>
<li>Select a group of front panel controls (or blog diagram terminals).<br>
</li>
<li>Right-click on one of the group<br>
</li>
<li>Perform any of the actions on the create menu.<br>
</li>
<li>For example:<br>Create Reference would create one reference for each selected control<br>Create Property Visible would create one Visible property for each selected control<br>
</li>
</ul>
<p></p>
]]></description><guid isPermaLink="false">9773</guid><pubDate>Thu, 26 Mar 2009 23:14:24 +0000</pubDate></item><item><title>Feature Request: User.lib exclusions from SCC</title><link>https://lavag.org/topic/9442-feature-request-userlib-exclusions-from-scc/</link><description><![CDATA[<p>The LabVIEW options dialog box has options to exclude vi.lib and instr.lib from Source Code Control add actions.</p>
<p>I have been requesting to extend this to user.lib as well for ages.</p>
<p>I even filed a bug report once <img src="https://lavag.org/uploads/emoticons/default_shifty.gif" alt=":shifty:"> .</p>
<p>Do we need this feature?</p>
<p>I am in need of this feature because I like the option to include all dependencies when adding a single file to SCC, however it also tries to add all the user.lib (which shouldn't be in SCC IMHO), this can't be added since it is outside the SCC scope and results in error messages.</p>
<p>Is it that much work to extent this feature (or even make an option to exclude a whole custom folder).</p>
<p>Ton</p>
]]></description><guid isPermaLink="false">9442</guid><pubDate>Fri, 13 Feb 2009 17:27:24 +0000</pubDate></item><item><title>Accelerator key for jumping to next error in error list</title><link>https://lavag.org/topic/9667-accelerator-key-for-jumping-to-next-error-in-error-list/</link><description><![CDATA[<p>LabVIEW uses Ctrl+G and Ctrl+shift+G to jump to the next or previous item in the Search results list dialog.</p>
<p>I want a similar key combination to navigate to the next error in the Error list.</p>
<p>Currently my process is:</p>
<p></p>
<ul>
<li>Click broken run arrow (or ctrl+L)<br>
</li>
<li>Scroll the Items with errors list to the top item in the list.<br>
</li>
<li>Highlight the first VI in the Items with errors list<br>
</li>
<li>Doubleclick the first item in the Block Diagram Errors list.<br>
</li>
<li>Fix the error in my code<br>
</li>
<li>press ctrl+L to bring the list frontmost<br>
</li>
<li>Doubleclick the next item in the Block Diagram Errors list.<br>
</li>
<li>Fix the error in my code<br>
</li>
<li>press ctrl+L to bring the list frontmost<br>
</li>
<li>Repeat process until errors are fixed in the first VI in the list<br>
</li>
<li>Continue doubleclicking in the errors and warning list until I'm done.<br>
</li>
</ul>
<p></p>
<p>I would like to see a shortcut key that would iterate through the errors in the errors list.</p>
<p><strong>Edit:</strong> I'd like to add that LabVIEW needs to be smart so that it wouldn't jump to the next error if it doesn't exist anymore due to a previous fix. However, I don't see this as a big problem since the Error list dialog already performs that checking in real-time anyway.</p>
]]></description><guid isPermaLink="false">9667</guid><pubDate>Thu, 12 Mar 2009 21:07:24 +0000</pubDate></item><item><title>Create New Event from Terminal</title><link>https://lavag.org/topic/9614-create-new-event-from-terminal/</link><description><![CDATA[<p>I'd like to be able to right-click on a terminal, browse over to the "Create" option and have there be an "Event" menu option along with the "Constant", "Control", etc.  Bonus points if you could browse to a sub-menu beneath (like with "Property Node") that that had the relevant events associated with that control.  Thoughts?</p>
<p></p>
]]></description><guid isPermaLink="false">9614</guid><pubDate>Fri, 06 Mar 2009 01:08:24 +0000</pubDate></item><item><title>"Locate in Project" feature</title><link>https://lavag.org/topic/5977-locate-in-project-feature/</link><description><![CDATA[<p>I would like to see the ability to locate a VI in the project tree.</p>
<p>One way to expose this would be to right-click on a VI Icon (on the diagram or top-right corner icon) and select "Locate in Project" from the menu. This would open the project tree and highlight the VI in the tree.</p>
]]></description><guid isPermaLink="false">5977</guid><pubDate>Thu, 23 Aug 2007 21:00:24 +0000</pubDate></item><item><title>Inspection template in Vision Builder AI</title><link>https://lavag.org/topic/9585-inspection-template-in-vision-builder-ai/</link><description><![CDATA[<p>It would be cool to be able to make an inspection and "save it as a template inspection".</p>
<p>Say for example a *.vbait file type that works like a template in MS Word, Excel or even like a *.vit in LabVIEW.</p>
<p>For people who do do alot of vision and have their well structured basic inspection it is a real pain not be able to define our own template and just double clic it from the OS, start editing the application specific part of the inspection and save straight away.</p>
<p>That is really a functionality that would make us save a lot of time !</p>
<p>(submitted as <a href="http://digital.ni.com/applications/psc.nsf/default?openform" rel="external nofollow">feature request to NI</a>)</p>
]]></description><guid isPermaLink="false">9585</guid><pubDate>Tue, 03 Mar 2009 14:51:24 +0000</pubDate></item><item><title>Property nodes are "upside down" - discuss!</title><link>https://lavag.org/topic/9549-property-nodes-are-upside-down-discuss/</link><description><![CDATA[<p>I was just doing some coding and getting information out of a property node, and it struck me that, from a style point of view at least, property nodes are upside down...</p>
<p>Having recently read Peter Blume's Labview style book, one of the big conventions seems to be that error clusters should wire in an out of the bottom of subvis... So why do we have to wire errors in and out of the top of property nodes? I like my code to have a nice continuous error line somewhere near the bottom, but as soon as you start dealing with a few properties from one node, you can't do that neatly anymore. Wouldn't it make sense for the base part of the propery node (i.e. the class label) to be at the bottom with the error, and then you could open the properties terminals upwards...</p>
<p>Anyways, I probably just have too much time on my hands!</p>
<p>Paul</p>
]]></description><guid isPermaLink="false">9549</guid><pubDate>Thu, 26 Feb 2009 12:53:24 +0000</pubDate></item><item><title>Password protection for typedef controls</title><link>https://lavag.org/topic/9343-password-protection-for-typedef-controls/</link><description><![CDATA[<p>I wish I could password protect a control VI (typedef or strict typedef).</p>
<p>If I have a password protected VI that uses a typedef, I want to be able to protect the typedef from modifications, otherwise that can break my password protected VIs <img src="https://lavag.org/uploads/emoticons/default_ohmy.png" alt=":o"></p>
]]></description><guid isPermaLink="false">9343</guid><pubDate>Sat, 31 Jan 2009 07:58:24 +0000</pubDate></item><item><title>Support for comments in INI files</title><link>https://lavag.org/topic/9321-support-for-comments-in-ini-files/</link><description><![CDATA[<p>LabVIEW Config Files functions don't support comments such as <a href="http://en.wikipedia.org/wiki/Ini_file" rel="external nofollow">described here</a>, I wish they do in the futur.</p>
<p></p>
]]></description><guid isPermaLink="false">9321</guid><pubDate>Thu, 29 Jan 2009 09:14:24 +0000</pubDate></item><item><title>LabVIEW Feedback for NI</title><link>https://lavag.org/topic/9140-labview-feedback-for-ni/</link><description><![CDATA[<p>LAVA wireworkers...</p>
<p>Allow me to introduce myself into this community.  My name is John Pasquarette and I am responsible for NI's Software business (I am in Software Marketing and work closely with Software R&amp;D managers).  I am sure I have met many of you over the years, but one of my 2009 New Year's Resolutions is to get more active in the LabVIEW community.  I would like to capture more user input and better inform our most active users about various topics coming out of the LabVIEW team here at NI.  One of the ways I am trying to do this is with a new blog called <a href="http://pasquarette.wordpress.com/2008/10/20/what-is-labview/" rel="external nofollow">Inside LabVIEW</a>.  I have been quietly blogging for the past few months (mainly to prove to myself that I will stick with it), and I am now coming out of hiding with my "<a href="http://pasquarette.wordpress.com/2008/12/23/2009-labview-new-years-resolutions/" rel="external nofollow">2009 LabVIEW New Year's Resolutions</a>" blog post.  I want to formally invite you guys to take a look periodically at my blog and weigh in on the topics there. </p>
<p>We are constantly talking about strategy, policy, and technology ideas here at NI, and I am hoping that the blog may provide a more nimble, "Web 2.0" approach to tapping into your thoughts on these discussions.  The LAVA forums and the info-<abbr title="LabVIEW">LV</abbr> forums will have great discussions periodically on these kinds of topics - in fact, the discussion that pushed me over the hump into action was an info-<abbr title="LabVIEW">lv</abbr> post by David Moore entitled "Will LabVIEW Survive" that many people joined in on.  I found that the thread meandered through lots of different topics, many of which are key focus areas or concerns here as well.  I hope that the blog will be a more direct way to engage in some of these topics going forward.  We'll see how it goes.  I hope to cover topics like:</p>
<p>- new ideas we are working on</p>
<p>- background behind feature decisions and release strategies</p>
<p>- new technology areas we are moving into</p>
<p>- policies and practices around support, upgrading, documentation, bug fixing, etc...</p>
<p>- cool applications I see from our <abbr title="LabVIEW">LV</abbr> users</p>
<p>Take a look at some of the things I hope to move forward in 2009.  I would love to hear your comments about any of these or other issues that you want to see out of NI.  Hopefully, we will both find some value in this in 2009.  </p>
<p>Thanks</p>
<p>John Pasquarette</p>
<p>VP, Product Marketing - Software</p>
<p>NI</p>
<p></p>
]]></description><guid isPermaLink="false">9140</guid><pubDate>Tue, 06 Jan 2009 20:53:24 +0000</pubDate></item><item><title>An Argument for Changing Combo Box Typedef Behavior</title><link>https://lavag.org/topic/9019-an-argument-for-changing-combo-box-typedef-behavior/</link><description><![CDATA[<p>As many know, <abbr title="LabVIEW">LV</abbr> will autoupdate a typedef'd combo box control but not a diagram constant.</p>
<p>There is a very interesting and useful class of applications that would greatly benefit</p>
<p>from the use of typedef'd combo box constants that autoupdate.  Consider the use of Current Valve Tables</p>
<p>in distributed systems. The CVT's are actually a form of keyed memory that is used to </p>
<p>store data values that can be dynamically created, updated and read.  NI's System Group has a </p>
<p>version of the CVT that uses block diagram strings as variable names. This approach is cumbersome</p>
<p>in that if a name is changed you have to find all instances on the diagram and change</p>
<p>them manually.  Also you have to cut and paste them in the first place.  Another possibility is typedef'd enum's which will autoupdate</p>
<p>on the diagram, but unfortunately the enum datatype cannot be passed into subvi's without converting to a variant or string.  It is also rather inefficient if your CVT is large </p>
<p>and you have 100's of variable names that would have to be passed around inside of the enum constant attributes.</p>
<p>An alternative and elegant solution is the use of typedef'd combobox constants that will autoupdate.  I would like to argue that the change in behavior is really only a</p>
<p>development environment change, not really a fundamental change to the underlying wire type characteristics as it has been argued by NI.</p>
<p>The constant itself already has an attribute that links it to the typedef, so why inhibit the autoupdating?</p>
<p>Any Comments?</p>
]]></description><guid isPermaLink="false">9019</guid><pubDate>Sat, 13 Dec 2008 15:45:24 +0000</pubDate></item><item><title>Array auto-indexing</title><link>https://lavag.org/topic/8760-array-auto-indexing/</link><description><![CDATA[<p>It would be helpful to be able to choose which array index to automatically access in a For-loop.  It's not too hard to handle for a 2-D array (by transposing beforehand), but it becomes more cumbersome for a 3-D array.  I suggest a modification like the following, where all methods give the same result.</p>
<p></p>
<p style="text-align:left;"><a href="http://lavag.org/old_files/monthly_11_2008/post-3889-1225746740.png" rel=""><img src="http://lavag.org/old_files/monthly_11_2008/post-3889-1225746740.png?width=400" alt="post-3889-1225746740.png?width=400"></a></p>
<p>It may not be straight-forward to allow programmatic access of the array index - if so, it would be sufficient to have a popup menu to choose which index is used, and some visual indication of the usage, as in the lowest example.</p>
<p>The same method could also be used to determine how an array is built out of a For-loop.</p>
]]></description><guid isPermaLink="false">8760</guid><pubDate>Tue, 04 Nov 2008 19:34:24 +0000</pubDate></item><item><title>Let floating point numeric probes by default display all/more digits</title><link>https://lavag.org/topic/8574-let-floating-point-numeric-probes-by-default-display-allmore-digits/</link><description><![CDATA[<p>I've submitted this to NI's product suggestion.</p>
<p>Let floating point numeric probes by default display all digits of precision for that particular data type.</p>
<p>In a recent project I've spend hours and hours looking for a bug of which it wasn't directly obvious to me that it was caused by the floating point lsb rounding errors because these are basically masked by the default setting of 6 significant digits. I think this is a good default for FP-controls, but not for probes which are used for debugging purposes. In my case it would have saved me tons of time.</p>
<p>Now, I imagine it is not always wanted behavior to have full precision in a probe, so best thing would probably be to have a control on the probe FP to set the nr of digits of precision at runtime. I can create a custom probe for that, so my problem is solved, but it would be nice to have this available on the default probe. I imagine more people are caught by this 'problem'.</p>
<p></p>
<p style="text-align:left;"><a href="http://lavag.org/old_files/monthly_10_2008/post-906-1223212107.png" rel=""><img src="http://lavag.org/old_files/monthly_10_2008/post-906-1223212107.png?width=400" alt="post-906-1223212107.png?width=400"></a></p>
]]></description><guid isPermaLink="false">8574</guid><pubDate>Mon, 06 Oct 2008 14:29:24 +0000</pubDate></item><item><title>Idea: Allow Bundle By Name to require all elements.</title><link>https://lavag.org/topic/8499-idea-allow-bundle-by-name-to-require-all-elements/</link><description><![CDATA[<p>I just posted this on the <a href="http://digital.ni.com/applications/psc.nsf/default?OpenForm" rel="external nofollow"><abbr title="LabVIEW">LV</abbr> wish list</a>.  Since one doesn't ever get feedback from that (except maybe seeing your idea in a far-future version of LabVIEW), I wanted to get some reaction (support) here.</p>
<p><cite>QUOTE </cite></p>
<blockquote data-ipsquote="" class="ipsQuote" data-ipsquote-contentapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentid="8499" data-ipsquote-contentclass="forums_Topic"><div>I usually use Bundle By Name rather than the plain Bundle for clusters, and certainly for all typedef clusters.  The only time not to use it is when you need to do a multi-key sort, since that works really well, and the cluster data structure is just temporary. 99% of the time my clusters are typedefs, and using Bundle By Name  always makes the code clearer and easier to debug by inspection.<p>However there is a disadvantage in that if I add something to my cluster, then existing bundle by name nodes will just use the default value for the new item, and it's not always easy to find all the associated bundling nodes.  This often leads to bugs.</p>
<p>In contrast, I use enums a fair amount, and I disable the use of "Default" in the case structures, so when I add an item, my application breaks in a bunch of places, and so I am forced to go fix them all and in the process most of the potential bugs are eliminated right away.</p>
<p>My suggestion is to add a right-click checkable property to the bundle by name node, requiring it to have all elements explicitly wired in. Then if I turned this on for a given node, the VI would break whenever I add an element (just like it does when I remove an element).</p>
<p>It would also be helpful to have this on the unbundle by name node though I realize it's not very labview-like to be forced to wire a nodes outputs.</p>
</div></blockquote>
]]></description><guid isPermaLink="false">8499</guid><pubDate>Mon, 22 Sep 2008 23:39:24 +0000</pubDate></item><item><title>Article: Retriggerable First Call</title><link>https://lavag.org/topic/8485-article-retriggerable-first-call/</link><description><![CDATA[<p>Please visit <a href="http://labviewinsights.blogspot.com/2008/09/retriggerable-first-call.html" rel="external nofollow">Bob's LabVIEW Insights</a> for discussion of a nifty little utility.</p>]]></description><guid isPermaLink="false">8485</guid><pubDate>Sat, 20 Sep 2008 04:36:24 +0000</pubDate></item><item><title>Tabbed VIs</title><link>https://lavag.org/topic/8467-tabbed-vis/</link><description><![CDATA[<p>I did a quick search and didn't see this before so my apologies if this is a duplicate, but I'd really like it if LabVIEW had the option to have tabbed VIs.  I try not to keep too many VIs open at once, but sometimes it happens and it's a pain to Alt+Tab trying to get to the VI you want and don't even get me started about trying to Alt+Tab to another application.  Now, I realize that not all FPs and BDs are the same size but I'm picuring something like Excel where all the VIs could be contained in one master window for FPs and one master window for BDs.  You could Ctrl+Tab between the different VIs and then you could Alt+Tab between different applications.  Or maybe something like PowerPoint where you can preview the FP/BD on the side and when you click on the preview, it'd bring up the FP/BD in the main display area to work on.  Again, I think this would be best as an option so that those that work with lower screen resolutions wouldn't be hindered by this feature.</p>
<p>What do you guys think?</p>
]]></description><guid isPermaLink="false">8467</guid><pubDate>Thu, 18 Sep 2008 07:12:24 +0000</pubDate></item><item><title>Guides and Rulers</title><link>https://lavag.org/topic/8464-guides-and-rulers/</link><description><![CDATA[<p>The alignment grid works... sorta.</p>
<p>I do a lot of system recessed frames inside of invisible clusters for the nice effect that it gives.</p>
<p>and sometimes I have things that their 'bounds' don't quite have the same gutters.</p>
<p>Or you want the same things on multiple tabs to be aligned in the same spots</p>
<p>so the net effect is that in these and other situations, IT"S A BITCH TO GET SHIT TO ALIGN.</p>
<p>So, I propose that NI allows Rulers and Guides similar to photoshop and the like to help us setup our FP easier as to make more professional looking FP.</p>
<p>Thoughts?! before I submit to ni on suggestion page of course</p>
]]></description><guid isPermaLink="false">8464</guid><pubDate>Thu, 18 Sep 2008 01:43:24 +0000</pubDate></item><item><title>Visual Indication of VI access scope (On the VI Itself)</title><link>https://lavag.org/topic/8358-visual-indication-of-vi-access-scope-on-the-vi-itself/</link><description><![CDATA[<p>I don't know if anybody else feel the same way, but I would like to have a visual indication [somewhere on my VI] of class member access scope (public, private, protected). May be a glyph in the lower left corner (where project namespace/instance is usually located) or somewhere else will really be useful. </p>
<p></p>
<div style="text-align:left;">
<p style="text-align:left;"><a href="http://lavag.org/old_files/monthly_08_2008/post-121-1219975045.png" rel=""><img src="http://lavag.org/old_files/monthly_08_2008/post-121-1219975045.png?width=400" alt="post-121-1219975045.png?width=400"></a></p>
<p>or</p>
<p></p>
<p style="text-align:left;"><a href="http://lavag.org/old_files/monthly_08_2008/post-121-1219975057.png" rel=""><img src="http://lavag.org/old_files/monthly_08_2008/post-121-1219975057.png?width=400" alt="post-121-1219975057.png?width=400"></a></p>
</div>
<p></p>
<p></p>
<p>Alternatively a word (public, private or protected) in the title bar (possibly activate through an ini key) will be good as well.</p>
<p>PJM</p>
]]></description><guid isPermaLink="false">8358</guid><pubDate>Sat, 30 Aug 2008 03:21:24 +0000</pubDate></item><item><title>Tab Control with Panes</title><link>https://lavag.org/topic/8386-tab-control-with-panes/</link><description><![CDATA[<p>LabVIEW offers two great features for nice user interfaces: tab controls and splitter bars.</p>
<p>It's really a pity, that you cannot combine them by setting splitter bars on the pages of tab controls.</p>
<p>My typical use case for this is a tab control with "Fit Control to Pane". </p>
<p>On a page of this tab control there might be a tree control that should use the entire height of the tab page an keep a constant width.</p>
<p>On the right side of this tree cotrol there might be a graph that should use all the rest of the space available.</p>
<p>I know how to programm this manually. I know how to get this effect by using a sub-panel and simulating a tab control.</p>
<p>But I would really appreciate beeing able to use the "natural" way of setting splitter bars on tab pages.</p>
<p>As far as I understad the logic of splitter bars, they can only be used on panes.</p>
<p>So the tab control would need to be redesigned in a way that it's pages are real panes.</p>
<p>(or maybe there could be a new additional "Pane Tab Control" or something?)</p>
<p>I have no idea how much effort this wold take NI R&amp;D, but it would really be a great feature for building professional user interfaces that are not bound to a fixed screen resolution!</p>
<p>What do others think? </p>
<p>Is this a good idea?</p>
<p>Would you use this feature in you own applications, if it was available?</p>
]]></description><guid isPermaLink="false">8386</guid><pubDate>Thu, 04 Sep 2008 10:20:24 +0000</pubDate></item><item><title>Project enhancements</title><link>https://lavag.org/topic/8371-project-enhancements/</link><description><![CDATA[<p>This post is a try to group several project-related wish-list items into one discussion.</p>
<p>Based on recent discussion (<a href="http://forums.lavag.org/The-Paper-Chase-t11798.html&amp;p=51259#entry51259" rel="external nofollow">1</a>, <a href="http://forums.lavag.org/How-to-resfresh-SCC-status-t10884.html" rel="external nofollow">2</a>), I felt there are some things missing to make the project the super-duper LabVIEW IDE enhancement.</p>
<p>The things that are currently lacking (IMHO)</p>
<p></p>
<ul><li>Set a description for a virtual folder<br>This allows you to group VIs under a folder that has a better description than the name of the folder<br></li>
<li>Setting '<a href="http://forums.lavag.org/Conditional-Disable-in-build-settings-t10592.html" rel="external nofollow">Conditional Disable settings</a>' in the build-properties<br></li>
<li>Better Build-tools<ul><li>The possibility to set the version of an executable and an installer in one location<br></li>
<li>Have dynamic built location (builds\executable\%version%)<br></li>
<li>Have the possibility to edit the GUID of an installer<br></li>
</ul><p></p>
<p>[*]Update the SCC settings when they are edited from within <a href="http://forums.lavag.org/How-to-resfresh-SCC-status-t10884.html" rel="external nofollow">LabVIEW code</a></p>
<p>[*]Allow extending of the context menu-items of project items</p>
<p>[*]<a href="http://forums.lavag.org/Copy-Move-Build-Specification-from-one-Project-to-another-t11708.html#" rel="external nofollow">Copy build settings</a> from one project to another</p>
<p></p>
</li>
</ul><p>Share your thoughts, fill in the poll and respond, make the project perfect.</p>
<p>Ton</p>
]]></description><guid isPermaLink="false">8371</guid><pubDate>Tue, 02 Sep 2008 20:20:24 +0000</pubDate></item><item><title><![CDATA[Select Default Connector Pane in Tools-> Options-> Front Panel]]></title><link>https://lavag.org/topic/6267-select-default-connector-pane-in-tools-options-front-panel/</link><description><![CDATA[<p></p>
<div style="text-align:center;">
<p></p>
<div style="text-align:left;">
<p>Picture says it all </p>
<img src="https://lavag.org/uploads/emoticons/default_smile.png" alt=":)"><p>Modifies the labview.ini line </p>
<blockquote data-ipsquote="" class="ipsQuote" data-ipsquote-contentapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentid="6267" data-ipsquote-contentclass="forums_Topic"><div>
<span style="font-family:'Courier New';">defaultConPane=[number]</span><p></p>
</div></blockquote>
<p></p>
<p style="text-align:left;"><a href="http://lavag.org/old_files/monthly_10_2007/post-949-1191609076.gif" rel=""><img src="http://lavag.org/old_files/monthly_10_2007/post-949-1191609076.gif?width=400" alt="post-949-1191609076.gif?width=400"></a></p>  <p>  </p>
</div>
<p></p>
</div>
<p></p>
]]></description><guid isPermaLink="false">6267</guid><pubDate>Sat, 06 Oct 2007 19:54:24 +0000</pubDate></item><item><title>Lossy Queue Capability</title><link>https://lavag.org/topic/4025-lossy-queue-capability/</link><description><![CDATA[<p><a href="http://lavag.org/topic/3469-data-logging-queues-or-circular-buffers/" rel="">See this thread for details...</a></p>
<p>Queues appear to be implemented as a circular in-memory buffer. There is no way to define the "<a href="http://en.wikipedia.org/wiki/Circular_buffer#How_to_Write_to_a_Full_Buffer" rel="external nofollow">when full</a>" behaviour of a queue. The current solution from the producer side is to to enqueue -&gt; timeout -&gt; dequeue element -&gt; enqueue element; or get Queue Status, dequeue element if full, enqueue element.</p>
<p><a href="http://lavag.org/topic/3469-data-logging-queues-or-circular-buffers/page__view__findpost__p__17323" rel="">Specifically, I've been finding fairly frequent need for a behavior more like lossy circular buffering. I'd like to fix the size of the circular buffer, and then the freshest data keeps circularly overwriting the oldest data. The UI thread could then asynchronously perform analysis on the most recent N samples, acting like a sliding window. (Kevin P.)</a></p>
<p></p>
]]></description><guid isPermaLink="false">4025</guid><pubDate>Mon, 02 Oct 2006 12:35:24 +0000</pubDate></item><item><title>Automatic Error Merging</title><link>https://lavag.org/topic/8110-automatic-error-merging/</link><description><![CDATA[<p>There's a really cool feature with Dynamic Data Type that allows you to merge signals really easily on the block diagram. Ignoring the fact that I never actually use DDT, here's how it goes:</p>
<p>If you wire a DDT directly onto another DDT wire, LabVIEW automatically inserts the Merge Signals function instead of producing a broken wire. Pretty cool.</p>
<p>It would be even cooler if LabVIEW would do the same if you wire two error wires together. LabVIEW could insert a Merge Errors function that actually scales to the number of error wires to be merged. It's very common to have parallel operations that both have error outputs that need to be merged. This would provide a very easy way to do so. It also seems possible since the error wire is a specific data type that LabVIEW recognizes.</p>
]]></description><guid isPermaLink="false">8110</guid><pubDate>Tue, 29 Jul 2008 19:32:24 +0000</pubDate></item><item><title>FrontPanel Transparency...</title><link>https://lavag.org/topic/7935-frontpanel-transparency/</link><description><![CDATA[<p>Anyone ever think that they'll make the FP transparency mask-able as to only make certain colors transparent?</p>
<p>I know that we can do this in windows through but anyone who has done this knows that there are severe limitations behind it.</p>
<p>Thus it would make much more sense to make this ability work the way most of us thought it would work when we saw the option available.</p>
<p>comments?</p>
]]></description><guid isPermaLink="false">7935</guid><pubDate>Tue, 01 Jul 2008 14:40:24 +0000</pubDate></item><item><title>Initialize 2D array</title><link>https://lavag.org/topic/7992-initialize-2d-array/</link><description><![CDATA[<p>I find surprising that the <strong>Initialize Array</strong> function doesn't allow for an array input. It would be really helpful for creating multidimensional arrays where not all elements are the same.</p>
<p>Of course the same can be done with a for loop, but doesn't feel so clean.</p>
<p></p>
<p style="text-align:left;"><a href="http://lavag.org/old_files/monthly_07_2008/post-1450-1215689434.jpg" rel=""><img src="http://lavag.org/old_files/monthly_07_2008/post-1450-1215689434.jpg?width=400" alt="post-1450-1215689434.jpg?width=400"></a></p>  <p>Saludos,</p>
<p>Aitor</p>
]]></description><guid isPermaLink="false">7992</guid><pubDate>Fri, 11 Jul 2008 13:00:24 +0000</pubDate></item><item><title>Basic Mods to LabVIEW Search Dialog</title><link>https://lavag.org/topic/7928-basic-mods-to-labview-search-dialog/</link><description><![CDATA[<p>I don't how many times I've had to re-engineer LabVIEW code and trying to document critical areas of the code base. I'm suggesting the ability to dump the contents of the the "Search Results" dialog to text file - simple wouldn't you think? Any suggestions on how this file list may be dumped with <abbr title="LabVIEW">LV</abbr> 8.2.1 would be appreciated.</p>
<p>-Chroma</p>
]]></description><guid isPermaLink="false">7928</guid><pubDate>Sat, 28 Jun 2008 15:46:24 +0000</pubDate></item><item><title>code modification in debug mode</title><link>https://lavag.org/topic/7871-code-modification-in-debug-mode/</link><description><![CDATA[<p>How many times did I forgot to set a boolean constant in a case to 'true', leading to an infinite loop condition??</p>
<p>in some project the run time is long, and therefore debug time is exponential: why not allow code change while program is in 'pause mode': i discover a bug - dont want to restart the whole process - pause, change the wire, structure or element - and then continue running.</p>
<p>It is possible in VB for example. works perfectly there.</p>
<p>Why not in Labview?</p>
]]></description><guid isPermaLink="false">7871</guid><pubDate>Sat, 21 Jun 2008 08:26:24 +0000</pubDate></item><item><title>Programmatic refresh of menus (Tools/File/Help)</title><link>https://lavag.org/topic/7846-programmatic-refresh-of-menus-toolsfilehelp/</link><description><![CDATA[<p>I'd like to be able to refresh the menus with an Application Method such as <strong>Application.Menus.Refresh()</strong>.  This would be useful for updating the menus after installing items in the Tools menu.</p>
<p>I'll bet you can imagine <a href="http://jkisoft.com/vipm/" rel="external nofollow">why</a> we need this feature <img src="https://lavag.org/uploads/emoticons/default_smile.png" alt=":)"></p>
]]></description><guid isPermaLink="false">7846</guid><pubDate>Wed, 18 Jun 2008 01:00:24 +0000</pubDate></item><item><title>Selective array building at structure tunnels</title><link>https://lavag.org/topic/7581-selective-array-building-at-structure-tunnels/</link><description><![CDATA[<p>why does a 1D array always become a 2D on for loop borders? Why can't we concatenate a 1D array at the border. It seems that tunnel has the potential to do a lot more than it can right now in regards to array manipulation.</p>]]></description><guid isPermaLink="false">7581</guid><pubDate>Tue, 06 May 2008 08:23:24 +0000</pubDate></item><item><title>Selective overwrite of Source Files</title><link>https://lavag.org/topic/7601-selective-overwrite-of-source-files/</link><description><![CDATA[<p>In the Source file settings of the 'Installer Builder' an additional boolean 'Overwrite?' should be added. This boolean should be 'True' by default.</p>
<p></p>
<p style="text-align:left;"><a href="http://lavag.org/old_files/monthly_05_2008/post-2399-1210144800.png" rel=""><img src="http://lavag.org/old_files/monthly_05_2008/post-2399-1210144800.png?width=400" alt="post-2399-1210144800.png?width=400"></a></p>
<p>With this option it is possible to have preferences files that can be added in the installer.</p>
<p>Ton</p>
]]></description><guid isPermaLink="false">7601</guid><pubDate>Thu, 08 May 2008 08:43:24 +0000</pubDate></item><item><title>Conditional Append</title><link>https://lavag.org/topic/7574-conditional-append/</link><description><![CDATA[<p>Compare the upper loop with the lower loop.</p>
<p> Take a close look at the loop exit.</p>
<p> <img src="http://img230.imageshack.us/img230/5718/conditionalappenddesignfc4.gif" alt="conditionalappenddesignfc4.gif"></p>
<p> greetings from</p>
<p> martin</p>
]]></description><guid isPermaLink="false">7574</guid><pubDate>Sat, 03 May 2008 16:51:24 +0000</pubDate></item><item><title>LVOOP in the Project Explorer</title><link>https://lavag.org/topic/7442-lvoop-in-the-project-explorer/</link><description><![CDATA[<p>Feature Request (tell me if I'm bonkers): it'd be nice to right-click drag a VI in a class and then select "create copy".  Some of my methods are similar (in layout at least), and this would speed up my development.  In fact, maybe this isn't an idea that should be restricted to OO?  Maybe this would be useful throughout the project explorer?</p>]]></description><guid isPermaLink="false">7442</guid><pubDate>Mon, 14 Apr 2008 20:04:24 +0000</pubDate></item><item><title>Shortcut Request</title><link>https://lavag.org/topic/7372-shortcut-request/</link><description><![CDATA[<p>I think it would save a lot of time to assign keyboard shortcuts to</p>
<p>1. create constant</p>
<p>2. create control</p>
<p>3. create indicator</p>
<p>You would have to put the wire tool over a connector/terminal so that labview would know what the data type should be.  In other words the data type of the item created would match whatever the wiring tool is pointing to.</p>
<p>right click -&gt; context menu -&gt; click on item is okay -- but could be faster.</p>
<p>Anyone concur?</p>
]]></description><guid isPermaLink="false">7372</guid><pubDate>Thu, 03 Apr 2008 15:26:24 +0000</pubDate></item><item><title>Labview 8.x.x Install Sizes</title><link>https://lavag.org/topic/7119-labview-8xx-install-sizes/</link><description><![CDATA[<p>I apologize if I'm beating a dead horse here -- I'm not sure if and how often this has been brought up in the past -- but I'm kind of annoyed at how large the distribution file has become since Labview 7 because of the massive Labview 8 RTE.  I used to be able to distribute a complex program at about 8MB or so.  Now, even a simple program is taking like 50MB.  Am I alone in this or do other people see this problem?  You can email an 8MB program, but you have to serve up a 50MB program.  It really limits distribution of a simple program to people who don't normally use Labview.</p>]]></description><guid isPermaLink="false">7119</guid><pubDate>Sat, 23 Feb 2008 17:42:24 +0000</pubDate></item><item><title>Vertical Scrollbar for Graphs</title><link>https://lavag.org/topic/7139-vertical-scrollbar-for-graphs/</link><description><![CDATA[<p>Why not introduce the vertical scrollbar for all types of graphs, particularly for Digital Graphs, when we run out of space due to see more than 32 digital signals on a normal desktop/laptop?</p>
<p>After all, NI's Digital Waveform Editor has that provision...</p>
]]></description><guid isPermaLink="false">7139</guid><pubDate>Wed, 27 Feb 2008 09:22:24 +0000</pubDate></item><item><title>Replace constants with icons on block diagram</title><link>https://lavag.org/topic/7092-replace-constants-with-icons-on-block-diagram/</link><description><![CDATA[<p>I'd like to see a way to have block diagram constants take up way less space.  I'll create large cluster typedefs and use them to initialize arrays, with Bundle by Name, or with Variant to Data.  Sometimes I'll have real values in them but usually I'm just using them as a typedef.  The problem is they take too much space on the block diagram.  I know I can change Autosizing to None, which I do; however, every time I make a change to the typedef Autosizing resets to Size to Fit and I have to go back and resize all my constants.  I even had to turn off the Auto Grow feature because I got tired of having my block diagrams blow up.</p>
<p>Something like a control-sized icon specifically for constants or typedefs would be fabulous.</p>
]]></description><guid isPermaLink="false">7092</guid><pubDate>Wed, 20 Feb 2008 18:13:24 +0000</pubDate></item><item><title>Custom decorations, and programmatically placing them</title><link>https://lavag.org/topic/1072-custom-decorations-and-programmatically-placing-them/</link><description><![CDATA[<p>I think it would be uesful to have custom decorations.  things like small pictures to explain things, or ability to put text on the front panel. I know you can use controls or indicators, but decorations on the panel might help, and they don't need extra CPU to compute them every time. (Copyright notices, user help text, big pictures of what the button does, etc. on the front panel right next to the controls)</p>
<p>And what about the ability to programmatically place the pictures / text decorations on the panel. This would be very helpful to people who need help with source code control, or ability to put the warning text on a whole library full of files at a time.</p>
<p>dhuff</p>
]]></description><guid isPermaLink="false">1072</guid><pubDate>Thu, 17 Jul 2003 23:04:24 +0000</pubDate></item><item><title>Ability to run selected section of block diagram</title><link>https://lavag.org/topic/6976-ability-to-run-selected-section-of-block-diagram/</link><description><![CDATA[<p>Ability to run selected section of the block diagram without having to run the entire VI. This would be a useful debugging feature.</p>
<p>Right now I have to select the portion I'm interested in, and create a new VI out of it (or a subVI, with the drawback that I can't easily undo the changes to the original VI)</p>
<p>Would be nice to just be able to select a section of the block diagram of interest, interactively initialize the inputs or optionally use the default values, and run it.</p>
]]></description><guid isPermaLink="false">6976</guid><pubDate>Sat, 02 Feb 2008 00:49:24 +0000</pubDate></item><item><title>Labels on shiftregisters</title><link>https://lavag.org/topic/6506-labels-on-shiftregisters/</link><description><![CDATA[<p>Hi guys,</p>
<p>I have the habit of always labeling my shiftregs on the left hand side of the loop they're on. I use free labels for that, but it would be nice if the labels where (optionaly) automatically created (like with objects on the FP). They would be attached to the shiftreg, moving with it when the shiftreg is moved up or down.</p>
<p> besides being a handy feature for myself, it would probably also encourage others who don't label their shiftregs now to do it anyway, because it would be the next logical (more or less forced) step after creating the register.</p>
<p>What do you guys think?</p>
]]></description><guid isPermaLink="false">6506</guid><pubDate>Fri, 09 Nov 2007 10:16:24 +0000</pubDate></item><item><title>Stopping a while loop with multiple booleans</title><link>https://lavag.org/topic/6731-stopping-a-while-loop-with-multiple-booleans/</link><description><![CDATA[<p>I don't know how many times I've needed to stop a while loop based on several booleans, as well as an error structure. It's a little thing, but it's kind of annoying:</p>
<p></p>
<p style="text-align:left;"><a href="http://lavag.org/old_files/monthly_12_2007/post-3014-1197649910.png" rel=""><img src="http://lavag.org/old_files/monthly_12_2007/post-3014-1197649910.png?width=400" alt="post-3014-1197649910.png?width=400"></a></p>
<p>I'd love to see some way to combine the Compound Arithmatic node (in boolean mode) combined with the Stop/Continue node. That would be especially useful if it could be used in conjunction with error clusters as well, rather than having to unbundle the status element first. You can already wire up the error cluster directly to the Stop node, but often that's not quite enough.</p>
<p>Something like this:</p>
<p></p>
<p style="text-align:left;"><a href="http://lavag.org/old_files/monthly_12_2007/post-3014-1197649914.png" rel=""><img src="http://lavag.org/old_files/monthly_12_2007/post-3014-1197649914.png?width=400" alt="post-3014-1197649914.png?width=400"></a></p>
]]></description><guid isPermaLink="false">6731</guid><pubDate>Sat, 15 Dec 2007 14:57:24 +0000</pubDate></item><item><title>Show array resize info in elements, not pixels.</title><link>https://lavag.org/topic/6690-show-array-resize-info-in-elements-not-pixels/</link><description><![CDATA[<p>I wish LabVIEW would show the little <em>(current size)</em> popup in terms of <strong>elements</strong> in addition to <em>pixels</em> when resizing an array on the front panel or block diagram.  The fact is that when I'm resizing an array I almost <strong>never</strong> care what size it is in pixels, especially given that the pixel size is constrained to a set of values relative to the sizes of the array elements anyway.  I frequently care how many elements will be displayed.</p>
<p><span style="font-size:8px;">E.g. </span><span style="font-size:8px;"><strong>(449,29 / 21 elements)</strong></span></p>
<p></p>
<p style="text-align:left;"><a href="http://lavag.org/old_files/monthly_12_2007/post-2992-1197054324.png" rel=""><img src="http://lavag.org/old_files/monthly_12_2007/post-2992-1197054324.png?width=400" alt="post-2992-1197054324.png?width=400"></a></p>
]]></description><guid isPermaLink="false">6690</guid><pubDate>Sat, 08 Dec 2007 17:29:24 +0000</pubDate></item><item><title>Default to text entry on auto Constant Labels</title><link>https://lavag.org/topic/6680-default-to-text-entry-on-auto-constant-labels/</link><description><![CDATA[<p>I have my LabVIEW settings set to automatically add labels to my constants.  This forces me to hide it if I <strong>don't</strong> want to document it, and encourages me to document as I go.</p>
<p>However, when I create a constant on the block diagram I almost always want to change the label.  So the label text should be selected to allow text entry as the constant is created.  This avoids double clicking to change the label and mimics the behavior of controls created on the front panel.</p>
<p>David</p>
]]></description><guid isPermaLink="false">6680</guid><pubDate>Fri, 07 Dec 2007 16:11:24 +0000</pubDate></item><item><title>Shift register terminals as default for error clusters and reference</title><link>https://lavag.org/topic/6597-shift-register-terminals-as-default-for-error-clusters-and-reference/</link><description><![CDATA[<p><cite>QUOTE(Tomi Maila @ Nov 20 2007, 03:46 AM) <a href="index.php?act=findpost&amp;pid=38855" rel="external nofollow"></a></cite></p>
<blockquote data-ipsquote="" class="ipsQuote" data-ipsquote-contentapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentid="6597" data-ipsquote-contentclass="forums_Topic"><div>When wiring error into a loop, the most common use case is to have a shift register to pass the error from iteration to iteration. Hence shift registers should be the default terminal type for error clusters when wired to a loop.</div></blockquote>
<p>And refnums, too <img src="https://lavag.org/uploads/emoticons/default_smile.png" alt=":)"></p>
]]></description><guid isPermaLink="false">6597</guid><pubDate>Wed, 21 Nov 2007 18:21:24 +0000</pubDate></item><item><title>copy/paste "format and precision" properties on numerics</title><link>https://lavag.org/topic/6484-copypaste-format-and-precision-properties-on-numerics/</link><description><![CDATA[<p>In some text editors the keyboard shortcut "<strong>ctrl + shift + C</strong>", "<strong>ctrl + shift + V</strong>" allow to copy not the text but the text format (font, size, etc)</p>
<p>Wouldn't it be nice to be able to be able to use it in LabVIEW to copy all the "format and precision" properties of a numeric to another one ?</p>
]]></description><guid isPermaLink="false">6484</guid><pubDate>Wed, 07 Nov 2007 13:05:24 +0000</pubDate></item></channel></rss>
