Здравствуйте, гость ( Вход | Регистрация )
BRE | Дата 14.3.2010, 11:06 |
Те получается так что между этими двумя строками скрипт не успевает скомпилить или выполнить функцию. Почему так происходит - немогу знать, вроде обещано ,что всё работать синхронно должно... Должно и работает синхронно. Причем у меня выполняется большой текстовый файл, который описывает очень много функций, а дальше они по необходимости вызываются из ядра программы. И никогда проблем не было... |
|
Haccel | Дата 14.3.2010, 6:21 |
Да, похоже теперь только так: Раскрывающийся текст
Очень не рекомендую так запускать скрипт. Можете получить ошибку, которую будете день искать и не найдёте.. есть опыт, работаю уже не первый год с qtscript. В двух словах, после строки:
Когда вы запросите свойство у глобального скопа
Правое выражение вернёт инвалидный объект, или того хуже (как было у меня), если вы таким образом запускаете скрипт несколько раз, результат ранней компиляции функции . Те получается так что между этими двумя строками скрипт не успевает скомпилить или выполнить функцию. Почему так происходит - немогу знать, вроде обещано ,что всё работать синхронно должно... Куда проще выйти из ситуации просто обернув анонимную функцию в круглые скобки.Те :
|
|
igor_bogomolov | Дата 10.2.2010, 15:12 |
Странно что в документации они это не везде поправили. В описании QScriptEngine написано Цитата The following code snippet shows how a script function can be defined and then invoked from C++ using QScriptValue::call(): Считаю это ошибкой в документации.QScriptValue fun = myEngine.evaluate("function(a, b ) { return a + b; }"); QScriptValueList args; args << 1 << 2; QScriptValue threeAgain = fun.call(QScriptValue(), args); |
|
BRE | Дата 10.2.2010, 14:17 |
Да, похоже теперь только так: Раскрывающийся текст
|
|
igor_bogomolov | Дата 10.2.2010, 13:52 |
Написал небольшой тестовый пример с использованием qscript. main.cpp
test.pro
C версией qt4.5.3 этот пример прекрасно работает. С версией 4.6.0 (sdk) при выполнении получаю сообщение Цитата "Script error: function( a, b ) { return a+b; }" Помогите разобраться в чем может быть проблема? У кого есть возможность попробуйте скомпилить под разными версиями qt."SyntaxError: Parse error" |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 23.4.2024, 16:23 |