crossplatform.ru

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

> Как удалить один из скриптовых модулей, Удаление модуля из QScriptEngine
JohnZ
  опции профиля:
сообщение 9.7.2015, 17:44
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 139
Регистрация: 19.7.2014
Пользователь №: 4190

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




Репутация:   0  


Всем Здравия !

Уважаемые форумчане, возникла такая проблема, - в QScriptEngine было добавлено
несколько скриптовых модулей. Каждый модуль обслуживает свою форму, которая
в данный момент видна на экране.
Модуль добавляется стандартно - engine->evaluate(script, name);

Соответственно при закрытии формы, необходимо убрать и её модуль
из QScriptEngine. Подскажите плз, как это можно сделать ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
lanz
  опции профиля:
сообщение 9.7.2015, 18:20
Сообщение #2


Старейший участник
****

Группа: Участник
Сообщений: 690
Регистрация: 28.12.2012
Пользователь №: 3660

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




Репутация:   8  


Можно попробовать через engine->globalObject() найти свойство, содержащее объект модуля и сделать ему setProperty QScriptValue()
http://doc.qt.io/qt-4.8/qscriptvalue.html#setProperty
Цитата
If value is invalid, the property is removed.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
JohnZ
  опции профиля:
сообщение 22.7.2015, 22:12
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 139
Регистрация: 19.7.2014
Пользователь №: 4190

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




Репутация:   0  


lanz, не получается. В прицепе скрин дебугера, в колонке слева один и тот-же скрипт
столько раз повторен, сколько раз открывался документ. Скрипт добавляется и удаляется так :

// Добавляем скрипт в engine
// lscr содержит скрипт, locScr имя скрипта
locScr = QString("scr%1").arg(ids);
engine->evaluate(lscr, locScr);

...
// Тут формирование и вызов формы
...

//  Вроде как удаление скрипта, но результат можно увидеть в прицепе :(

engine->globalObject().setProperty(locScr, QScriptValue());


Может я не так удаляю его ?

Сообщение отредактировал JohnZ - 22.7.2015, 22:13
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


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


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




RSS Текстовая версия Сейчас: 16.4.2024, 15:44