Как удалить один из скриптовых модулей, Удаление модуля из QScriptEngine |
Здравствуйте, гость ( Вход | Регистрация )
Как удалить один из скриптовых модулей, Удаление модуля из QScriptEngine |
JohnZ |
9.7.2015, 17:44
Сообщение
#1
|
Участник Группа: Участник Сообщений: 139 Регистрация: 19.7.2014 Пользователь №: 4190 Спасибо сказали: 10 раз(а) Репутация: 0 |
Всем Здравия !
Уважаемые форумчане, возникла такая проблема, - в QScriptEngine было добавлено несколько скриптовых модулей. Каждый модуль обслуживает свою форму, которая в данный момент видна на экране. Модуль добавляется стандартно - engine->evaluate(script, name); Соответственно при закрытии формы, необходимо убрать и её модуль из QScriptEngine. Подскажите плз, как это можно сделать ? |
|
|
lanz |
23.7.2015, 9:21
Сообщение
#2
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
Дебаггер показывает скомпилированные скрипты. Естественно, каждый раз когда вы вызываете evaluate, создается новый объект, содержащий скомпилированный код, поскольку неизвестно какому предыдущему объекту соответствует этот код.
Мне кажется, это забота QScriptEngine следить чтобы эти объекты вовремя удалялись. И нет ничего страшного что они некоторое время копятся. Если хотите чтобы такой объект был только один, используйте http://doc.qt.io/qt-4.8/qscriptprogram.html#details и вторую перегрузку http://doc.qt.io/qt-4.8/qscriptengine.html#evaluate-2 |
|
|
Текстовая версия | Сейчас: 25.4.2024, 20:37 |