Implementing Context classes
The way implementing GUI or database context classes does not differ very much. The main difference is the base class and the features supported by it, which differs essentially between different context classes.
Context classes might be implemented in C++ or C# depending on the project implementation language selected when creating the project in the ClassEditor or Designer. C++ and C# context classes may also contain OSI functions, or one may also implement the context completely in OSI, in which case the project should be marked as OSI project (implementation language). Especially for GUI context classes, OSI is probably the fastest and simplest way of implementation. For performance reasons, it might be, however, better in some cases to use C# or C++. The project implementation language might also be changed later, but only from OSI to C# or C++, as well as the implementation language for one or more context classes, i.e. one might start with OSI and change to C++ or C# later on, when the one or other function creates performance problems.
OSI and C# provide dynamic context class location and need just to be assigned to the resource, implemented and compiled (C#). When implementing C++, a context class factory has to be provided as described in the C++ topic below or may be generated by the ClassEditor.