Ok, mine is not exactly the same problem.

I had exposed a instance of a class that inherits QObject, ClsUserManager:

Qt Code:
  1. engine.globalObject().setProperty("UserManager",engine.newQObject(UserManager));
To copy to clipboard, switch view to plain text mode 

UserManager has this public slot:
Qt Code:
  1. OtherCustomClass* getUser(QString id);
To copy to clipboard, switch view to plain text mode 

OtherCustomClass has a slot:
Qt Code:
  1. void setProperty(QString p)
To copy to clipboard, switch view to plain text mode 

I tried to call de slot from my script:
Qt Code:
  1. UserManager.getUser(id).setProperty(p);
To copy to clipboard, switch view to plain text mode 

I get:
Qt Code:
  1. Debug: "TypeError: cannot call getUser(): unknown return type `OtherCustomClass*' (register the type with qScriptRegisterMetaType())"
To copy to clipboard, switch view to plain text mode 

The problem is that I can't call qScriptRegisterMetaType() from OtherCustomClass, it gets "QScriptEngine * engine" as first param, and I created some instances of QScriptEngine (by demmand) dinamically.

Regards