Click or drag to resize

X# Runtime and SDK Reference

X#
This is the generated documentation for the XSharp Runtime and VO SDK.
Please note that DotNet does not know the concept of a function. Therefore the compiler converts functions to static methods of a compiler generated functions class.
The same is true for DEFINES. These are added as constants fields in the functions class.
The XSharp runtime has a couple of these classes:

and more. There is no need to do anything special when writing code. The compiler will automatically resolve function calls, such as: Left(cString,10) and will generate the following output XSharp.Core.Functions.Left(cString,10). The compiler will also translate a define such as FA_NORMAL to XSharp.Core.Functions.FA_NORMAL.
In fact the compiler will include the value of this DEFINE in the generated code. You will not be able to see in the generated code that the value 0x00000080 was read from the FA_NORMAL define.
The source code for the XSharp Runtime is available on GitHub.
If you find bugs with this code, please report them by sending an email to bugreports@xsharp.eu.
Or even better, locate the bug and send us a bugfix.
The best way to do that is :
  • Create a Fork of our Github repository
  • Create a unit test in the appropriate unit tests project
  • Fix the problem
  • Send us a pull request for the unit test and the bug fix
Of course you can also discuss issues you have or send us your comments on the forum on our website
Finally, if you like what you are seeing, you can help to support the X# development by subscribing to the "Friends Of XSharp" (FOX) program.
More information about that program can be found at our website as well.
Namespaces
NamespaceDescription
Advantage
This namespace contains the exposed RDDs for Advantage.
System.Linq
This namespace contains extension methods (Sum(), Min(), Max()) for the XSharp Numeric datatypes Float and Currency
VO
This namespace contains all the VO SDK Classes, such as DbServer, DataWindow, SQLSelect etc.
If you enable the compiler option to search inside "Implicit Namespaces" (/ins) then you will not have to include a USING VO statement in your code.
The compiler will then automatically find the classes.
The Runtime will also respect these implicit namespaces, so CreateInstance(#DbServer) will also be able to find the DbServer class inside the VO namespace.
VOGUIClasses
This namespace contains the functions class with the functions and defines from the VOGUIClasses assembly
VOInternetClasses
This namespace contains the functions class with the functions and defines from the VOInternetClasses assembly
VORDDClasses
This namespace contains the functions class with the functions and defines from the VORDDClasses assembly
VOSQLClasses
This namespace contains the functions class with the functions and defines from the VOSQLClasses assembly
VOSystemClasses
This namespace contains the functions class with the functions and defines from the VOSystemClasses assembly
XSharp
This namespace contains the classes and structures that are used to implement the XBase types, such as USUAL, SYMBOL DATE and FLOAT.
XSharp.ADS
This namespace contains several types used by the Advantage RDDs in the RDD system.
XSharp.Core
This namespace contains the Functions class that implements the Runtime functions available in XSharp.Core DLL.
XSharp.Data
This namespace contains several types used in the XSharp runtime to access data through the Ado.Net Data providers.
XSharp.Debugger
This namespace containes several windows that can be used to inspect the Runtime State and open workareas/cursors at runtime.
XSharp.Harbour
This namespace contains the Functions class that implements the Runtime functions available in XSharp.Harbour.DLL.
XSharp.Internal
This namespace contains types (classes and attributes) used by the compiler. These are normally not used in End users (your) code.
XSharp.IO
This namespace contains types used in the (low level) File IO.
XSharp.Parsers
This namespace contains the some classes that are used to parse embedded SQL statements.
XSharp.RDD
This namespace contains types used by the RDD system.
XSharp.RDD.Enums
This namespace contains enumerated types used by the RDD system.
XSharp.RDD.Support
This namespace contains several helper types used by the RDD system.
XSharp.RT
This namespace contains the Functions class that implements the Runtime functions available in XSharp.RT.DLL.
XSharp.RT.Debugger
This namespace contains the Functions class that has the functions to show the Runtime Debugger windows.
XSharp.VFP
This namespace contains the Functions class that implements the Runtime functions available in XSharp.VFP DLL.
XSharp.VFP.UI
This namespace contains the compatibility classes that are used in code generated by the VFPExporter tool.
XSharp.VFP.UI.Properties
XSharp.VO
This namespace contains the Functions class that implements the Runtime functions available in XSharp.VO.DLL.
XSharp.VO.SDK
This namespace contains strongly typed versions of the VO SDK Classes, such as DbServer, DataWindow, SQLSelect etc.
If you enable the compiler option to search inside "Implicit Namespaces" (/ins) then you will not have to include a USING XSharp.VO statement in your code.
The compiler will then automatically find the classes in this namespace.
The Runtime will also respect these implicit namespaces, so CreateInstance(#DbServer) will also be able to find the DbServer class inside the XSharp.VO namespace.
XSharp.XPP
This namespace contains the Functions class that implements the Runtime functions available in XSharp.XPP.DLL.
XSharp_VOGUIClasses
This namespace contains the functions class with the functions and defines from the XSharp.VOGUIClasses assembly
XSharp_VORDDClasses
This namespace contains the functions class with the functions and defines from the XSharp.VORDDClasses assembly
XSharp_VOSQLClasses
This namespace contains the functions class with the functions and defines from the XSharp.VOSQLClasses assembly
XSharp_VOSystemClasses
This namespace contains the functions class with the functions and defines from the XSharp.VOSystemClasses assembly