Is there a better way to check if a configuration variable is blank?

I was working on incorporating a new client's standards and was trying to idiot-proof our project setup files and ran into an issue that seems like it should have a one line solution, but I can't figure it out.  After banging my head against a wall for quite some time trying to figure out how a variable that I was clearly defining was coming up as "Symbol '$(MY_VARIABLE)' is undefined", I finally realized that Microstation gives the same error message for defined variables with no value as it does for undefined variables. So then I started trying to figure out how to determine if the variable was blank so I could proactively set a value so the logic in the project setup won't bomb out when it hits a variable with a null value.  Neither !defined or setting a variable's value with : work as the variable is technically defined, so I ended up doing the following, but it feels like a bit of a hack job:

_CHECK_EMPTY = $(MY_VARIABLE)EMPTY
%if $(_CHECK_EMPTY) == "EMPTY"
MY_VARIABLE = OHMYGODAVALUE!
%endif

It seems like I should be able to go:

%if $(MY_VARIABLE) == ""

but I couldn't come up with a "null" expression that worked [""," ",null,(null),'null', ,'',[ ],etc.].  Anyone have any ideas?  Thanks.

Parents Reply
  • Unknown said:
    Looking at the screenshot Jon provided, it looks like his VBA is only telling you if it is defined or not, not where the problem is

    If had you looked beyond the screenshot to our web page, you would have found that it does do more than that!

    The freeware validator does what it says on the tin: validates a CfgVar.  It gets the current value of the CfgVar, then checks to see if the file or folder really exists.

    When you run a MicroStation debug, the results tell you how CfgVars are defined.  It doesn't tell you if the expanded value points to a valid object.  The freeware Configuration Variable Validator takes that extra step.

     
    Regards, Jon Summers
    LA Solutions

Children