Russian Qt Forum
Май 19, 2024, 12:22 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Plugin и использование глобальных объектов.  (Прочитано 4649 раз)
-=QT=-
Гость
« : Август 12, 2007, 16:38 »

В проекте main.cpp

#include "constants.h"
//
#include <QApplication>
#include <QTranslator>
#include <QLocale>
#include <QtSql>
#include <QMessageBox>
#include "qmysettings.h"
...
//
QmySettings mySettings; /* Объект по работе с локальными настройками */
...
//
#include "mainwindowimpl.h"
//
int main(int argc, char ** argv)
{
...
В других файлах реализации (...Impl.cpp)
...
extern QmySettings mySettings; /* Объект по работе с локальными настройками */
...
    /* Восстановление размера и положения главного окна программы  */
    mySettings.setWidgetGeometry( this );
...
Все это работает на ура.
Написал плугин для проги:
interfase.h
Код:
class QMyInterfaces
{
public:
    virtual ~QMyInterfaces(){}
    virtual QString menuName() const = 0;
    virtual QWidget* action(QWidget * parent = 0) = 0;
    virtual bool hasConfigDialog() const = 0;
    virtual void config(QWidget * parent = 0) = 0;
    virtual QTranslator *pluginTranslator(QString locale) = 0;
    virtual QString getLibVersion() const = 0;

};

Ну и далее реализация  и т.п.
МОХНО ЛИ ИСПОЛЬЗОВАТЬ ВНУТРИ ПЛАГИНА mySettings и если можно то как НепонимающийНепонимающий?
Записан
Alex Forth
Гость
« Ответ #1 : Август 13, 2007, 08:43 »

Цитата: "-=QT=-"

МОХНО ЛИ ИСПОЛЬЗОВАТЬ ВНУТРИ ПЛАГИНА mySettings и если можно то как НепонимающийНепонимающий?

Можно!
Засунь реализацию QmySettings в dll и юзай Крутой
Записан
-=QT=-
Гость
« Ответ #2 : Август 13, 2007, 09:30 »

Я так и сделал
Засунул реализацию в плагин и обьявил глобальный класс QmySettings в плагине.
Записан
Alex Forth
Гость
« Ответ #3 : Август 13, 2007, 09:38 »

Цитата: "-=QT=-"
Я так и сделал
Засунул реализацию в плагин и обьявил глобальный класс QmySettings в плагине.

А в чем тогда проблема?
Записан
-=QT=-
Гость
« Ответ #4 : Август 13, 2007, 09:45 »

Проблема была в том что я хотел использовать один глобальный объект для всего приложения, а так не получалось.
Тоесть я пытался писать в плагине:
Код:
extern QmySettings mySettings;

Ну и соответственно получал по шапке при выполнении программы.
Записан
Alex Forth
Гость
« Ответ #5 : Август 13, 2007, 09:53 »

Глобальный обьект  сделай синглетоном (см. http://prog.org.ru/forum/topic_6072_45.html ). Синглетон тоже засунь в dll.
Записан
-=QT=-
Гость
« Ответ #6 : Август 13, 2007, 11:00 »

спасибо я пробовал он мне кучу ошибок выдал при компиляции (я пока это в сторону отложил).
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.043 секунд. Запросов: 17.