![]() |
#1
|
|||
|
|||
Script expression for macros that are not always defined?
For every action, you can set a condition "build only if macro or expression ... is true/false/defined/undefined/etc."
Now, occasionally I want to build a step if some macro (let's say "UnsureMacro") is either not defined, or if it's true. To pull this off I've been messing with a temporary macro "DO_IT" which I first set to true (always), and then (in a separate set macro action) set it to %UnsureMacro% if UnsureMacro is defined. Then in the actual action, I enable the condition "only if %DO_IT% is true". This works, but it feels kinda clumsy. Is there some script expression in which I can combine this, so I don't have to mess with a temp macro and separate actions? I tried stuff like this: Code:
[((vbld_AllMacros()("UnsureMacro")) Is Nothing) OR ((vbld_AllMacros()("UnsureMacro"))<>"0")] If I write a complete script for this, I can do it, but is there perhaps a neat tight single expression that does the same? Last edited by Rogier; 11-12-2009 at 01:13 PM. |
#2
|
|||
|
|||
VBScript doesn't do short-circuit evaluation, so you would need to create a project or global script function (View | Other Windows | Script Editor) like this:
Code:
Function CheckMacro(name) CheckMacro = False If vbld_AllMacros()(name) Is Nothing Then CheckMacro = True Else CheckMacro = CBool(vbld_AllMacros()(name)) End If End Function build only if macro or expression [CheckMacro("UnsureMacro")] is true http://www.kinook.com/VisBuildPro/Ma...ripteditor.htm http://www.kinook.com/VisBuildPro/Ma...xpressions.htm http://www.kinook.com/VisBuildPro/Manual/buildrules.htm |
#3
|
|||
|
|||
Ok, thanks, will set things up like that.
|
![]() |
|
|