Thanks for the reply, however, I don't think I understand it properly. Let me summarize:
1. In AngelScript I will have InitScriptInstance( @this ); as you wrote
2. In C++ I will register the function using declaration "void InitScriptInstance( ?&in )", is this still correct?
3. The function itself will look like this
void InitScriptInstance( void* pointer, int type )
asIScriptObject* obj = (asIScriptObject*)pointer;
This does not work, so I guess one of the three steps caused misunderstanding on my side. Would you please care to elaborate?
P.S.: If I rewrite the 'pointer' getter in the function above like this:
asIScriptObject** obj = (asIScriptObject**)pointer;
the dereference *obj is then NULL.