Kinook Software Forum

Kinook Software Forum (https://www.kinook.com/Forum/index.php)
-   [VBP] General Discussion (https://www.kinook.com/Forum/forumdisplay.php?f=2)
-   -   Build only if macro or expression (https://www.kinook.com/Forum/showthread.php?t=114)

gdanko 05-28-2003 05:04 PM

Build only if macro or expression
 
I have an .ini file that determines how my software deployment is run. One of the parameters in the .ini file is NewMachineConfig.

-- Begin Snippet --
[Global]
NewMachineConfig = 0
-- End Snippet --

I have a Log Message that queries the value of this entry. It looks like this:

New machine.config = %READ_INI(C:\deploy.ini,Global,NewMachineConfig)%

When I run that Log Message I get this output:

--------------------Starting Build: 'Deploy.bld'--------------------
Building project step 'Temp'...
New machine.config = 0
Build successfully completed.

So I am able to read this value properly. I have a SourceSafe step that grabs the machine.config file from SourceSafe, but I only want this file to be copied down if the deployment requires it. So in my SourceSafe step I check the "Build only if macro expression" box and put this in place:
%READ_INI(C:\deploy.ini,Global,NewMachineConfig)%
is equal to 1

My .ini file will use a binary for yes|no. VBP grabs this file from SourceSafe regardless of the state of that macro. I've tried it with and without surrounding [ ]'s.

What have I done wrong?

gdanko 05-29-2003 01:41 PM

Seems like my upgrade from 4.0 to 5.0 messed me up. After doing a clean install of 5.0 things started working properly. :)

pjaquiery 05-29-2003 03:52 PM

In general use the Is True test rather than testing for equality for a true/false type test.

A VBScript or JScript true == -1. You happened to use 1 for the same semantic value (no harm in that, some of the best languages use 1 for true internally). Generally any non-zero value can be treated as true and only 0 is treated as false.

Your test becomes:

%READ_INI(C:\deploy.ini,Global,NewMachineConfig)%
is true

Note that the [] are not required because this is simply a Macro expansion (albeit a magical one as far as I can see). In this case they don't do any harm either because [0] == 0 && [1] == 1.

gdanko 05-29-2003 04:00 PM

This all seems to have something to do with my upgrade versus straight install. Version 5 seems to have it fixed.


All times are GMT -5. The time now is 02:37 PM.


Copyright © 1999-2023 Kinook Software, Inc.