crossplatform.ru

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

> Как удалить один из скриптовых модулей, Удаление модуля из 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 @ 24.7.2015, 11:52) *
Другое дело, если ваши программы создают объекты, определяют функции и тп.

Да lanz, так и есть. Когда объект создаётся, он сам себя добавляет в engine и свой скрипт и имя в т.ч.
Так проще, т.к. иначе за всеми этими добавлениями нужно было-бы следить и делать главной ветке,
а у неё (MainWindow) своих дел хватает :rolleyes: .

Может в деструкторе объекта как-то можно это безобразие почистить ?

Если в скрипте написано "delete obj;" то должен-ли он удалиться немедленно ?

У меня почему-то не удаляется :( Может нужно ещё что-то сказать мусорщику ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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




RSS Текстовая версия Сейчас: 24.11.2024, 9:33