Jump to content


Photo
- - - - -

Conditional Disable in build settings


  • Please log in to reply
27 replies to this topic

#1 Ton Plomp

Ton Plomp

    How many lines per hour? Zero!

  • Premium Member
  • 1,973 posts
  • Location:Netherlands
  • Version:LabVIEW 2012
  • Since:2000

Posted 16 April 2008 - 01:00 PM

It would be nice if I could set the conditional disable settings in the build settings.

This would allow for multiple build settings that could incorporate into a single project file.
I have the feeling this can be done with separate lvproj files but that feels like a workaround.

Any thoughts on this?

Ton

#2 ASTDan

ASTDan

    Extremely Active

  • Members
  • PipPipPipPip
  • 340 posts
  • Version:LabVIEW 8.6
  • Since:2009

Posted 16 April 2008 - 02:16 PM

I think it would be cool if the disable structure had an input like the Case structure i.e. boolean, enum, string, etc

Dan

#3 Ton Plomp

Ton Plomp

    How many lines per hour? Zero!

  • Premium Member
  • 1,973 posts
  • Location:Netherlands
  • Version:LabVIEW 2012
  • Since:2000

Posted 16 April 2008 - 02:36 PM

QUOTE (ASTDan @ Apr 15 2008, 01:55 PM)

I think it would be cool if the disable structure had an input like the Case structure i.e. boolean, enum, string, etc

What kind of usage does this have over the current disable structure?

Ton

#4 ASTDan

ASTDan

    Extremely Active

  • Members
  • PipPipPipPip
  • 340 posts
  • Version:LabVIEW 8.6
  • Since:2009

Posted 16 April 2008 - 03:03 PM

The advantage would be I could understand how it works. I haven't been able to understand the conditional disable strucure.

Granted it doesn't take much to confuse me.

Dan

#5 JDave

JDave

    Extremely Active

  • Members
  • PipPipPipPip
  • 412 posts
  • Version:LabVIEW 7.1
  • Since:2005

Posted 16 April 2008 - 05:17 PM

QUOTE (tcplomp @ Apr 15 2008, 04:39 AM)

It would be nice if I could set the conditional disable settings in the build settings.

This would allow for multiple build settings that could incorporate into a single project file.
I have the feeling this can be done with separate lvproj files but that feels like a workaround.

Any thoughts on this?

Ton

I also have wanted this, and made a feature request for it a while ago. Seems like a pretty reasonable request. Conditional disable flags affect the entire project, and the build settings build the project into an executable.

#6 Yair

Yair

    Extwemely Active

  • Members
  • PipPipPipPipPipPip
  • 2,645 posts
  • Version:LabVIEW 2009
  • Since:2003

Posted 16 April 2008 - 06:10 PM

QUOTE (ASTDan @ Apr 15 2008, 04:42 PM)

The advantage would be I could understand how it works. I haven't been able to understand the conditional disable strucure.

You set symbols for the entire project (by right clicking on the project in the project tree, if memory serves) and then you choose one of the symbols to switch all the structures throughout the project. I assume the help for the structure covers this in more detail.

#7 ASTDan

ASTDan

    Extremely Active

  • Members
  • PipPipPipPip
  • 340 posts
  • Version:LabVIEW 8.6
  • Since:2009

Posted 16 April 2008 - 06:30 PM

Wow I never realized it was tied to the project. No wonder I missed that. Thanks!

Learn something new every day

#8 David Wisti

David Wisti

    Very Active

  • Members
  • PipPipPip
  • 113 posts

Posted 16 April 2008 - 06:52 PM

QUOTE (Yen @ Apr 15 2008, 11:49 AM)

You set symbols for the entire project (by right clicking on the project in the project tree, if memory serves) and then you choose one of the symbols to switch all the structures throughout the project. I assume the help for the structure covers this in more detail.


Conditional Disable are project and target based. So you could have symbols just for specific targets or global symbols that effect all targets.

#9 orko

orko

    The 500 club

  • JKI
  • 577 posts
  • Location:Tulsa, OK
  • Version:LabVIEW 2012
  • Since:2005

Posted 16 April 2008 - 08:18 PM

QUOTE (JDave @ Apr 15 2008, 08:56 AM)

I also have wanted this, and made a feature request for it a while ago. Seems like a pretty reasonable request. Conditional disable flags affect the entire project, and the build settings build the project into an executable.


I agree :thumbup:

So far I've just been having to remember to set the right conditional variables before I build (and make sure everyone els knows about them...)

Setting this up as two builds inside the project would be cool...
Joe "orko" Sines

#10 Doon

Doon

    More Active

  • Members
  • PipPip
  • 43 posts

Posted 16 April 2008 - 08:35 PM

QUOTE (orko @ Apr 15 2008, 11:57 AM)

Setting this up as two builds inside the project would be cool...


Ditto,

One case in point, I have two target test stands for automated testing as part of product delivery. One has additional functionality (mine) and the other has non-disimilar equipment performing the same task (theirs). In the mid-level equipment code, I have added Conditional Disables to handle the differences between the two test stands.
Countless times, I went to deliver new code, only to realize that I forgot to change the Conditional Symbol.

Having the Build Spec's handle this would certainly make multi-targetting much more streamlined.

Unfortunately, I still follow the practice of Remove Symbol, Add Symbol.

#11 jdunham

jdunham

    Extremely Active

  • Members
  • PipPipPipPipPip
  • 628 posts
  • Location:San Francisco, CA
  • Version:LabVIEW 2011
  • Since:1994

Posted 16 April 2008 - 10:23 PM

QUOTE (Doon @ Apr 15 2008, 12:14 PM)

Ditto,

One case in point, I have two target test stands for automated testing as part of product delivery. One has additional functionality (mine) and the other has non-disimilar equipment performing the same task (theirs). In the mid-level equipment code, I have added Conditional Disables to handle the differences between the two test stands.
Countless times, I went to deliver new code, only to realize that I forgot to change the Conditional Symbol.

Having the Build Spec's handle this would certainly make multi-targetting much more streamlined.

Unfortunately, I still follow the practice of Remove Symbol, Add Symbol.


I totally agree. We are actually reading the lvproj file (it's XML) and modifying the Conditional Disable symbols programmatically and then reloading the project so that we can build multiple flavors of our product. It's not terribly hard, but there should most certainly be VI server access to the symbols.

#12 Ton Plomp

Ton Plomp

    How many lines per hour? Zero!

  • Premium Member
  • 1,973 posts
  • Location:Netherlands
  • Version:LabVIEW 2012
  • Since:2000

Posted 17 April 2008 - 07:08 AM

QUOTE (Doon @ Apr 15 2008, 08:14 PM)

Unfortunately, I still follow the practice of Remove Symbol, Add Symbol.

You can just use a Symbol Setup with a string mine and theirs. In your code you use the same symbols with these values.
Or just use mine and default.
QUOTE (jdunham @ Apr 15 2008, 10:02 PM)

... there should most certainly be VI server access to the symbols.

Well I don't think that's necessary, changing the Conditional Disable Symbol forces a recompile of the code. That means all of the code inside the project shouldn't be running, which can be a challenging task.
The possibility to select another lvproj for a build is probably intended to cover this gap. But an additional page in the build settings is preferable.

This item shows a problem in my developing workflow. I considered the lvrproj file as code independent. But now it seems like it is tied to the code as well, and should be checked in and out.

Ton

#13 Doon

Doon

    More Active

  • Members
  • PipPip
  • 43 posts

Posted 17 April 2008 - 04:09 PM

QUOTE (tcplomp @ Apr 15 2008, 10:47 PM)

You can just use a Symbol Setup with a string mine and theirs. In your code you use the same symbols with these values.
Or just use mine and default.

Maybe I'm doing this wrong, but when I switch between conditionals, I right-click the project in the "Project Explorer" window and select "Properties..."
In the "Conditional Disable Symbols" section, the only options I see are "Add" and "Remove Selected Items". So far, my only solution is to first remove my symbol, then re-Add it with a new value.

Is there a cleaner way to change Symbols in a project? That would surely make my day.

Cheers,
-H

#14 orko

orko

    The 500 club

  • JKI
  • 577 posts
  • Location:Tulsa, OK
  • Version:LabVIEW 2012
  • Since:2005

Posted 17 April 2008 - 04:39 PM

QUOTE (Doon @ Apr 16 2008, 07:48 AM)

So far, my only solution is to first remove my symbol, then re-Add it with a new value.

I seem to remember this with LV8.0. Starting with LV8.2 (I think) you can double-click on the value you want to change in the list and edit it straight away.
Joe "orko" Sines

#15 Doon

Doon

    More Active

  • Members
  • PipPip
  • 43 posts

Posted 17 April 2008 - 06:19 PM

QUOTE (orko @ Apr 16 2008, 08:18 AM)

I seem to remember this with LV8.0. Starting with LV8.2 (I think) you can double-click on the value you want to change in the list and edit it straight away.


Even More reason for me to push (read: beg) for an upgrade. Thanks.

#16 Götz Becker

Götz Becker

    Very Active

  • Premium Member
  • 136 posts
  • Location:Munich
  • Version:LabVIEW 2011
  • Since:2004

Posted 07 May 2008 - 01:37 PM

QUOTE (Doon @ Apr 16 2008, 05:58 PM)

Even More reason for me to push (read: beg) for an upgrade. Thanks.


After I today nearly released a build with some parts configured by conditional symbols as simulated, I am too begging for this to be included soon.
Reducing the overhead of things to remember when the customer is standing in your neck asking if the app is ready yet (answer: no not yet but soon...) would be great!


#17 Ton Plomp

Ton Plomp

    How many lines per hour? Zero!

  • Premium Member
  • 1,973 posts
  • Location:Netherlands
  • Version:LabVIEW 2012
  • Since:2000

Posted 08 March 2010 - 09:08 PM

An official request is made here.

Ton

#18 mje

mje

    The 500 club

  • Premium Member
  • 813 posts
  • Location:Milford MA USA
  • Version:LabVIEW 2011
  • Since:1997

Posted 08 March 2010 - 10:13 PM

I've been wanting this for ages. Well, at least as long as the structure has been around.

I'd also like the option to allow the recompilation due to symbols to be done on the fly through a temporary file. If this is done at the application builder level, I don't see why the original VI needs to be modified due to a symbol definition. I dislike how some of my reuse libraries are always getting changed due to symbol redefinitions across projects...leave the original VIs alone! Since we're never going to get a separation of source from binaries in LV, this would be a nice way of handling compilation differences at the project level without modifying the source (kind of)...

#19 Ton Plomp

Ton Plomp

    How many lines per hour? Zero!

  • Premium Member
  • 1,973 posts
  • Location:Netherlands
  • Version:LabVIEW 2012
  • Since:2000

Posted 09 March 2010 - 12:38 PM

....
Since we're never going to get a separation of source from binaries in LV,

You could vote for this idea.

Ton

#20 gmart

gmart

    Very Active

  • NI
  • 151 posts
  • Version:LabVIEW 8.6
  • Since:2000

Posted 09 March 2010 - 03:43 PM

Have you seen this? - Darren's Weekly Nugget 11/09/2009