Show/Hide Toolbars


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.






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).



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.


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).
WARNING Allowing parenthesized arrays may slow down the execution of your program !(/fox2)


Inherit from Abstract class

All classes without parent class inherit from the XPP Abstract class.