Russian Qt Forum
Ноябрь 22, 2024, 12:18 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Parse error. Не выполняется скрипт в qt4.6.0  (Прочитано 4688 раз)
igor_bogomolov
Гость
« : Февраль 10, 2010, 12:56 »

Написал небольшой тестовый пример с использованием qscript
Код
C++ (Qt)
#include <QtCore>
#include <QtGui>
#include <QtScript>
 
class Test : public QObject
{
   Q_OBJECT
public slots:
   void test()
   {
#ifdef ERROR
qDebug() << "test1";
QString sFunction = QString("a+b");
QString sScript = QString("function(a,b){return %1;}").arg(sFunction);
#else
qDebug() << "test2";
QString sScript = QString("function(a,b) { return a+b; }");
#endif
QScriptEngine scriptEngine;
QScriptValue svFun = scriptEngine.evaluate(sScript);
if (scriptEngine.hasUncaughtException()) {
   qDebug() << QString("Script error: %1").arg(sScript);
   qDebug() << svFun.toString();
} else {
   qDebug() << QString("Script Ok!: %1").arg(sScript);
}
QScriptValueList args;
args << 1 << 2;
QScriptValue res = svFun.call(QScriptValue(), args);
qDebug() << res.toInt32();
   }
};
 
#include "main.moc"
 
int main (int argc, char ** argv)
{
QApplication app(argc, argv);
 
QPushButton * button = new QPushButton("evaluate");
Test * test = new Test();
QObject::connect(button, SIGNAL(clicked()), test, SLOT(test()));
 
button->resize(100, 30);
button->show();
 
return app.exec();
}

Этот пример прекрасно работает с версией qt4.5.3

Этот же пример скомпилированный с qt 4.6.0 (qtsdk-2009.05)не работает
Цитировать
"Script error: function(a,b) { return a+b; }"
"SyntaxError: Parse error"  


В чем может быть проблема?
Записан
BRE
Гость
« Ответ #1 : Февраль 10, 2010, 14:22 »

Что-то поменяли в скриптовом движке.
Как обойти написал: http://www.forum.crossplatform.ru/index.php?s=&showtopic=4254&view=findpost&p=30043
Записан
igor_bogomolov
Гость
« Ответ #2 : Февраль 10, 2010, 14:38 »

Спасибо Вам огромное Улыбающийся
Записан
kerf
Гость
« Ответ #3 : Март 11, 2010, 11:35 »

вот здесь посмотрите workaround проблемы: http://bugreports.qt.nokia.com/browse/QTBUG-5757
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.097 секунд. Запросов: 21.