The Dialect page contains some additional language settings. Some of these settings apply to all dialects. Others only apply to the given dialect and will only be enabled when the appropriate dialect is chosen.
Item |
Description |
Command item |
All instance methods virtual |
Add the virtual modifier to all methods by default (which is the normal Visual Objects behavior). |
|
Allow Init() and Axit() as aliases for Constructor/Destructor |
Allow Init() and Axit() as aliases for Constructor/Destructor. |
|
Compatible IIF Behavior |
Compatible IIF Behavior, allow different types of return values in TRUE and FALSE expression. |
|
Compatible preprocessor |
Makes the preprocessor case insensitive and also controls how #ifdef inspects #defines. |
|
Handle problems with incorrect or missing return statements |
Allow missing return statements or allow return statements with incorrect return values. |
|
Implicit numeric conversions |
Implicit numeric integer conversions |
|
Initialize strings |
Initialize strings to empty string (String.Empty). Please note that in .NET a NULL_STRING is not the same as a string with length 0. When enabled this will initialize local string variables regardless of the setting of 'initialize locals' setting from the Language page. |
|
Clipper Compatible intiger divisions |
Compatible integer divisions, integer divisions may return a float. |
|
Compatible numeric conversions |
Compatible arithmetic conversions. |
|
Compatible string comparisons |
Compatible string comparisons, respects SetExact and collation table. |
|
Generate Clipper constructors |
Automatically create clipper calling convention constructors for classes without constructor where the parent class has a Clipper Calling convention constructor. |
|
Implicit casts and conversions |
Compatible implicit casts and Conversions. |
|
Implicit Clipper calling convention |
Methods without parameters and calling convention are compiled as Clipper calling convention. Please note that without this switch all methods without parameters will be seen as STRICT. Methods with untyped parameters are always seen as CLIPPER calling convention. |
|
Implicit pointer conversions |
Implicit conversions between typed function PTR and PTR. |
|
Treat missing types as USUAL |
Missing type clauses for locals, instance variables and parameters are treated as USUAL (VO and Vulcan dialect). The default = TRUE for the VO dialect and FALSE for the other dialects. We strongly recommend to set this to FALSE because this will help you to find problems in your code and non optimal code. If you have to use the USUAL type we recommend to explicitly declare variables and parameters as USUAL. |
|
Use FLOAT literals |
Store floating point literals as FLOAT and not as System.Double (REAL8). |
|
Compatible BEGIN SEQUENCE .. END |
Generate code to fully implement the VO compatible BEGIN SEQUENCE .. END SEQUENCE. The compiler generates calls to the runtime functions _SequenceError and _SequenceRecover that you may override in your own code. |
-vo17 |
Inherit from Custom class |
All classes are assumed to inherit from the Custom class. This also affects the way in which properties are processed by the compiler. |
|
Compatible Array Handling |
FoxPro compatible array handling (Allows parenthesized arrays and assigning a single value to an array to fill all elements). |
|
Inherit from Abstract class |
All classes without parent class inherit from the XPP Abstract class. |