crossplatform.ru

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

> Как удалить один из скриптовых модулей, Удаление модуля из 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
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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




RSS Текстовая версия Сейчас: 25.4.2024, 20:37