Show/Hide Toolbars

XSharp

The Dialect page contains some additional language settings. Some of these settings apply to all dialects, while others only apply to the given dialect and are only enabled when the appropriate dialect is chosen.

 

ProjectPropertiesDialect

 

Item

Description

Command item

All instance methods virtual

Add the virtual modifier to all methods by default (which is the normal Visual Objects behavior).

-vo3

Allow Init() and Axit() as aliases for Constructor/Destructor

Allow Init() and Axit() as aliases for Constructor/Destructor.

-vo1

Compatible IIF Behavior

Compatible IIF Behavior, allow different types of return values in TRUE and FALSE expression.

-vo10

Compatible preprocessor

Makes the preprocessor case-insensitive, and controls how #ifdef inspects #defines.

-vo8

Handle problems with incorrect or missing return statements

Allow missing return statements, or allow return statements with incorrect return values.

-vo9

Implicit numeric conversions

Implicit numeric integer conversions.

-vo4

Initialize strings

Initialize strings to empty string (String.Empty).

Please note that in .NET a NULL_STRING is different than 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.

-vo2

Clipper Compatible intiger divisions

Compatible integer divisions, integer divisions may return a float.

-vo12

Compatible numeric conversions

Compatible arithmetic conversions.

-vo11

Compatible string comparisons

Compatible string comparisons, respects SetExact and collation table.

-vo13

Generate Clipper constructors

Automatically create clipper calling convention constructors for classes without constructor where the parent class has a Clipper Calling convention constructor.

-vo16

Implicit casts and conversions

Compatible implicit casts and Conversions.

-vo7

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.

-vo5

Implicit pointer conversions

Implicit conversions between typed function PTR and PTR.

-vo6

Treat missing types as USUAL

Missing type clauses for locals, instance variable, 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, as this will help you 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.

-vo15

Use FLOAT literals

Store floating point literals as FLOAT and not as System.Double (REAL8).

-vo14

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

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)

-fox2

Inherit from Abstract class

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

-xpp1