There is a need for extended precompiler directives like C++ Have a look at this site: http://www.cplusplus.com/doc/tutorial/preprocessor/
as an example: Say you have implemented a workround for missing proc language statments. In a new version of UnifAce, there will be the proper statement If you do have customers with different versions of UnifAce one could not use the new feature untill all customers switch to the newest version. To use proc code for both version it would be nice to have a extended precompiler #if (__VERSION__>=97) $01=$setting(...) ; e.g. if there is a new feature in $settings #else call GP_WORKAROUND($01) #endif Without __VERSION__ and #if ( >= ) you could not implement such \"switches\"