Russian Qt Forum
Ноябрь 22, 2024, 21:39
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Программирование
>
Общий
>
Глобальные объекты - реализация
Страниц:
1
[
2
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Глобальные объекты - реализация (Прочитано 8090 раз)
Fregloin
Супер
Offline
Сообщений: 1025
Re: Глобальные объекты - реализация
«
Ответ #15 :
Май 14, 2015, 11:46 »
Вобщем сделал как и предполагал. Есть один глобальный синглтон, который отвечает за инициализацию и разрушение остальных. Все заработало как надо.
Решение может не самое изящное, зато работает как я и хотел.
Записан
Авварон
Джедай : наставник для всех
Offline
Сообщений: 3260
Re: Глобальные объекты - реализация
«
Ответ #16 :
Май 14, 2015, 18:24 »
Как делать правильно (похоже, у вас так):
Есть плагин менеджер, он грузит плагины после создания QApp и выгружает перед выходом из main (если создавать на стеке в мейне, то можно в конструкторе\деструкторе).
Есть менеджер объектов (может быть тем же классом, что и плагин манагер) - в него можно добавить объект, убрать объект и получить по имени.
Плагины при загрузке добавляют объекты в манагер, при выгрузке - удаляют. Можно сделать через parent-child - когда объект удаляют, он убирается из манагера.
Прилинкованные объекты добавляются ручками.
Объекты можно юзать либо через абстрактный класс, либо через интерфейс (если нет общей либы, куда можно положить абстрактный класс).
Тамщемта всё.
Записан
Страниц:
1
[
2
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...