#1
|
|||
|
|||
some VBP eval issues
I'm evaluating VBP as a possible replacement for FinalBuilder. I can see that both products have relative pros and cons. The main con (for us) against FB is that it doesn't provide a COM interface and this is why we're evaluating VBP. So far, these are my VBP impressions while trying to migrate a FB project to VBP...
1. Help is too superficial Help often doesn't go into enough detail to actualy help me solve my vbp development questions. However, the fact that I'm grasping for information in the first place probably indicates a problem for what should be a fairly simple to use 'visual build' application. 2. Lower level Actions than FB I'm puzzled why I should be forced to included snippits of macro code in an action to do something as basic as checking that a file exists. FB has a complete action for this - quick and easy to use. 3. Program constructs like IF / ELSE missing in VBP Sure, you can kind of reconstruct IF / ELSE using those 'GROUP' actions in VBP but it slows development down a lot. Furthermore, the resulting actions are a devil to debug. I had a situation where the vbld_FSO.FileExists function wouldn't return the correct status unless there was a single variable/macro to represent the file/path instead of a mixture of variable/macro and text. So, this would not work: [vbld_FSO.FileExists("%BuildFolder%\config\config.i ni")] whereas this did work : [vbld_FSO.FileExists(%configFile%)] along with the double quotes assigned as part of the configFile variable\macro (which is the way I saw it done in one of the sample projects). I guess this is fine for those who enjoy pain but I don't. 4. Complicated options for running projects/steps FB is a joy compared to VBP in this respect. In FB, it's much more intuitive with simple options to 'run' the project, step, step + children and so on. A small example... In FB, if you select the 'Run' option, it will always run the project cleanly from the beginning unless you have inserted breakpoints. In VBP, the behavior of 'Build'\F7 is quite different and another option has to be selected to reset the project. Not a big deal perhaps but why design an app to be more complicated than it needs to be? Also, I think it's confusing that VBP refers to 'Build' when it should state 'Run'. Logically speaking, I 'run' a 'project' to do a 'build'. 5. No variable inheritance apparent in sub-projects??? Not sure about this as I'm still trying to understand what is or is not available to me in VBP with regard to variable inheritance. Are the project Parameters the only way to pass variable information to a sub-project? Do the parameters work exactly the same in the sub-project as macros/variables? Also, why are variables called 'macros' in VBP??? 6. Generally more difficult to do simple things in VBP than in FB On the plus side, VBP has a much nicer GUI interface than FB, which is gludgy in comparison. VBP also has the COM interface and what appears to be a well presented Object model. If only VBP could 'borrow' some of the nicer features from FB it would be a near perfect product. Clive |
#2
|
|||||||
|
|||||||
Re: some VBP eval issues
Quote:
Quote:
Note that you can use the Script Editor's Immediate window to assist with such expressions -- open the Step Properties dialog, go to the desired field, type Alt+S (show Script Editor), Alt+I (go to Immediate window), type vbld_FSO.Fi<Enter>("%configfile%"), then press Enter to evaluate the expression or Alt+Ins to insert it as a script expression into the current field. Quote:
To perform the else for a script expression, add Not at the beginning of the expression; for other comparisons, use the opposite comparison (is undefined/is defined, contains/does not contain, etc.). Expressions mixing macros and other text are supported (for instance, [vbld_FSO.FileExists("%WINDIR%\system.ini")] works). Please ZIP and send the details (a project or the expression and macro values being used) and we can assist. Quote:
http://www.visualbuild.com/Manual/methodsofbuilding.htm Quote:
http://www.visualbuild.com/Manual/vbpparameterstab.htm http://www.visualbuild.com/Manual/macrostab.htm Also, subroutines are another way to modularize steps within a single project, and subroutine steps have access to all macros in the current project without passing them. http://www.visualbuild.com/Manual/su...callaction.htm As far as the use of the term macro instead of variable, VBP macros can be much more dynamic than traditional computer language variables (VBP macros can reference other macros, contain script expressions, etc.), so macro seemed more appropriate (macro has multiple meanings these days, and VBP macros are more like text substitution macros than scripting macros). Quote:
Quote:
|
#3
|
|||
|
|||
Re: Re: some VBP eval issues
Thank you for taking the time to provide a considered response. VBP is a good product - I just had a few annoyances with it that were mainly due to the fact that my I don't know how to use it. I'm getting better as I go along but I think Help could have saved me a bit of time to start with. Also, I do believe that the in-line macro functions are useful to have but wouldn't it be great to have the extra actions as well? Programmer types would like the inline stuff and non-programmer types would love to see the useful actions... I found another one that I would like to see... 'List Folders'.
Help... For example, 'if / then / else' must be one of the most basic programming constructs but it's not mentioned anywhere. I got real frustrated with this. Although VBP doesn't have specific if / then / else actions, I think the workarounds could be mentioned in help. I wasted a lot of time trying to get if / then / else working as you described and, in the end, it turned out that the parameter I was using was case sensitive... Or at least making the parameter case the same in the chained projects seemed to fix it. eg. %MyParameter% vs. %myparameter%. When trying to use the Group action for the first time as an 'if' action, I wanted to know more about the exact meaning of the definitions in the 'build only if macro or expression' pull-down box that gives the operators like 'is defined', 'is undefined', etc. When I clicked Help, the resulting Help Page just restated the options instead of defining them. Maybe I was being dumb at the time but I wanted to know if 'undefined' meant 'nothing assisged' or 'the macro doesn't exist'. At the time, due to the case sensitivity issue (I think) and trying to figure out how to test for an unassigned/empty macro, I spent much more time that I should have trying to get it working. I felt at the time that Help could have giving me a bit more info to solve the issues. I haven't got any more time to write about the other issues in more detail but will follow up tomorrow if I can. thanks, Clive |
|
|