![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
JohnZ |
![]()
Сообщение
#1
|
Участник ![]() ![]() Группа: Участник Сообщений: 139 Регистрация: 19.7.2014 Пользователь №: 4190 Спасибо сказали: 10 раз(а) Репутация: ![]() ![]() ![]() |
В доке написано
Цитата QScriptValue QScriptEngine::evaluate ( const QString & program, const QString & fileName = QString(), int lineNumber = 1 ) Evaluates program, using lineNumber as the base line number, and returns the result of the evaluation. The script code will be evaluated in the current context. Но в действительности получается что каждый evaluate создаёт свой контекст и ...
z не вычисляется, т.к. в его контексте нет x & y ?! Это при условии что вызов evaluate происходит из _разных_ объектов, но по единому указателю QScriptEngine . Вопрос - возможно-ли сохранить единый контекст для ВСЕХ evaluate ? (до пере-инициализации QScriptEngine, ес-сно) Заранее благодарен за помощь ! |
|
|
![]() |
Алексей1153 |
![]()
Сообщение
#2
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
я так понимаю, evaluate выполняет отдельный снипет. С аргументами, как показывает справка, можно вызвать функцию так
http://doc.qt.io/qt-5/qscriptengine.html
можно также задать глобальные переменные переменные
сам не тестил, только предполагаю ) |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 12.5.2025, 22:28 |