Friday, December 23, 2011

parameter handling and better code generation (Build 432)

GuineuIDE now correctly converts some of the built-in properties. Visual FoxPro uses lower case properties for all user-defined properties (ignoring _MemberData for the moment). Sometimes, however, those properties are stored in all upper-case. Guineu correctly identifies those as user-defined properties now.

Constants defined in the VCX or SCX include file are evaluated at compile time now. When you rebuild an existing project make sure to select Guineu > Clean up project name from the menu to force Guineu to rebuild all project files.

PRIVATE variables can be defined and are created in a truly private fashion. Undeclared variables are now PRIVATE, just like in Visual FoxPro. Missing variables raise an error message except when being assigned to. PARAMETERS creates private variables whereas LPARAMETERS is responsible for creating local variables.

Parameters can now be passed by value or by reference. Call the PARAMETERS() function to determine the number of parameters.

Some commands in Visual FoxPro are not relevant during program execution. EXTERNAL is a good example and is now supported by Guineu. Just like in the Visual FoxPro runtime this command does absolutely nothing. Previously, though, having the command in the code would raise a compiler error in Guineu due to an unknown token.

Code lines containing macro substitutions (& command) do not cause an error anymore. Currently, they are skipped at runtime since there's no tokenizer being part of Guineu.

No comments: