crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> QtScript: Проблема при создании объектов
0...-5
  опции профиля:
сообщение 29.4.2012, 15:04
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 1
Регистрация: 29.4.2012
Пользователь №: 3348

Спасибо сказали: 0 раз(а)




Репутация:   0  


Здравствуйте! Я обернул функцию-конструктор класса следующим образом:
QScriptValue Pos(QScriptContext *context, QScriptEngine *engine)
{
    context->thisObject().setProperty("x", context->argument(0));
    context->thisObject().setProperty("y", context->argument(1));
    context->thisObject().setProperty("z", context->argument(2));
    return engine->undefinedValue();
}

и добавил ее к движку:
QScriptValue proto = engine.newQObject(new CPos());
engine.setDefaultPrototype(qMetaTypeId<CPos*>(), proto);
engine.globalObject().setProperty("Pos", engine.newFunction(Pos, proto));

Попробовав выполнить простейший скрипт
var p1 = new Pos(1, 2, 3);
var p2 = new Pos(10, 20, 30);

обнаружил, что свойства объекта p1 инициализируются значениями из второго конструктора (10, 20, 30), то есть объект context->thisObject() при вызове второго конструктора не переключается на p2. В чем причина?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 25.4.2024, 2:19