Как удалить один из скриптовых модулей, Удаление модуля из QScriptEngine |
Здравствуйте, гость ( Вход | Регистрация )
Как удалить один из скриптовых модулей, Удаление модуля из QScriptEngine |
JohnZ |
9.7.2015, 17:44
Сообщение
#1
|
Участник Группа: Участник Сообщений: 139 Регистрация: 19.7.2014 Пользователь №: 4190 Спасибо сказали: 10 раз(а) Репутация: 0 |
Всем Здравия !
Уважаемые форумчане, возникла такая проблема, - в QScriptEngine было добавлено несколько скриптовых модулей. Каждый модуль обслуживает свою форму, которая в данный момент видна на экране. Модуль добавляется стандартно - engine->evaluate(script, name); Соответственно при закрытии формы, необходимо убрать и её модуль из QScriptEngine. Подскажите плз, как это можно сделать ? |
|
|
lanz |
24.7.2015, 11:52
Сообщение
#2
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
Те имена, что показывает дебаггер, это просто строки, переданные в evaluate.
Насколько я понял из беглого просмотра исходников, Qt использует целочисленные идентификаторы для объектов кода полученных таким образом. Так что пересечения не должно быть. Другое дело, если ваши программы создают объекты, определяют функции и тп. |
|
|
JohnZ |
27.7.2015, 14:52
Сообщение
#3
|
Участник Группа: Участник Сообщений: 139 Регистрация: 19.7.2014 Пользователь №: 4190 Спасибо сказали: 10 раз(а) Репутация: 0 |
Другое дело, если ваши программы создают объекты, определяют функции и тп. Да lanz, так и есть. Когда объект создаётся, он сам себя добавляет в engine и свой скрипт и имя в т.ч. Так проще, т.к. иначе за всеми этими добавлениями нужно было-бы следить и делать главной ветке, а у неё (MainWindow) своих дел хватает . Может в деструкторе объекта как-то можно это безобразие почистить ? Если в скрипте написано "delete obj;" то должен-ли он удалиться немедленно ? У меня почему-то не удаляется Может нужно ещё что-то сказать мусорщику ? |
|
|
Текстовая версия | Сейчас: 24.11.2024, 9:33 |