Createing context classes manually
In order to link a development resource (database model or GUI resource) to a context class, a resource reference has to be created for the resource ( SDB_Resource ::resource_ref ). Most development resources inherit from SDB_Resource and, thus, support resource references. This is the minimum required for creating proper context class instances later on.
C## and OSI require the context class name defined in the resource reference, only. When implementing context function in C++, however, one has to provide a context interface implemented in a C-function CreateContext() .
When a development resource is opened, it passes the resource reference number ( SDB_ResourceRef ::__AUTOIDENT ) to the CreateContext() function, which has to be provided by the library containing the context class implementations (C++, only). Any number of resources can be associated with one context class.
Context classes can be assigned in the ClassEditor or Designer , which also generate link tables between context class name and resource identifier. Those are compiled in a C function ( CreateContext() ), which creates context class instances for complex and property instances, which are linked to a context class.
When not using Designer or ClassEditor , the CreateContext() function has to be defined manually in the application.