public void AllocClassObject()
{
if( _sgsObject != IntPtr.Zero )
throw new SGSException( RC.EINPROC, "AllocClassObject - object is already allocated" );
IntPtr iface = GetClassInterface();
NI.Variable var;
NI.CreateObject( _sgsEngine.ctx, HDL.Alloc( this ), iface, out var );
_sgsObject = var.data.O;
_InitMetaObject();
}