IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Creator Discussion :

Compilation et utilisation de bibliothèue


Sujet :

Qt Creator

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2006
    Messages : 35
    Points : 29
    Points
    29
    Par défaut Compilation et utilisation de bibliothèue
    Bonjour,

    Je me sers depuis peu de QT Creator sous mac et je rencontre un problème lors de la compilation de mon programme.

    J'ai un premier projet de type bibliothèque qui contient la classe suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    H:
    #ifndef BM2SLIB_SINGLETON_SQLUTILS_H
    #define BM2SLIB_SINGLETON_SQLUTILS_H
    #include <QSqlDatabase>
     
    namespace bm2sLib {
    namespace singleton {
    class sqlUtil
    {
    public:
        static sqlUtil* getInstance();
        bool isReady();
        static QString text();
     
    private:
        QSqlDatabase dbArticle;
        QSqlDatabase dbParameter;
        QSqlDatabase dbPartner;
        QSqlDatabase dbSell;
        QSqlDatabase dbUser;
        static sqlUtil *instance;
        sqlUtil();
    };
     
    }
    }
     
    #endif // BM2SLIB_SINGLETON_SQLUTILS_H
     
    CPP:
    #include "sqlutil.h"
     
    bm2sLib::singleton::sqlUtil::sqlUtil()
    {
        this->dbArticle = QSqlDatabase::addDatabase("QMYSQL");
        this->dbArticle.setHostName("192.168.0.1");
        this->dbArticle.setDatabaseName("Article");
        this->dbArticle.setUserName("bm2s");
        this->dbArticle.setPassword("");
     
        this->dbParameter = QSqlDatabase::addDatabase("QMYSQL");
        this->dbParameter.setHostName("192.168.0.1");
        this->dbParameter.setDatabaseName("Parameter");
        this->dbParameter.setUserName("bm2s");
        this->dbParameter.setPassword("");
     
        this->dbPartner = QSqlDatabase::addDatabase("QMYSQL");
        this->dbPartner.setHostName("192.168.0.1");
        this->dbPartner.setDatabaseName("Partner");
        this->dbPartner.setUserName("bm2s");
        this->dbPartner.setPassword("");
     
        this->dbSell = QSqlDatabase::addDatabase("QMYSQL");
        this->dbSell.setHostName("192.168.0.1");
        this->dbSell.setDatabaseName("Sell");
        this->dbSell.setUserName("bm2s");
        this->dbSell.setPassword("");
     
        this->dbUser = QSqlDatabase::addDatabase("QMYSQL");
        this->dbUser.setHostName("192.168.0.1");
        this->dbUser.setDatabaseName("User");
        this->dbUser.setUserName("bm2s");
        this->dbUser.setPassword("");
    }
     
    bool bm2sLib::singleton::sqlUtil::isReady()
    {
        return this->dbArticle.isOpen() && this->dbParameter.isOpen() && this->dbPartner.isOpen() && this->dbSell.isOpen() && this->dbUser.isOpen();
    }
     
    bm2sLib::singleton::sqlUtil* bm2sLib::singleton::sqlUtil::getInstance()
    {
        if(bm2sLib::singleton::sqlUtil::instance == 0)
        {
            bm2sLib::singleton::sqlUtil::instance = new sqlUtil();
        }
     
        return bm2sLib::singleton::sqlUtil::instance;
    }
     
    QString bm2sLib::singleton::sqlUtil::text()
    {
        return "text";
    }
    Le second projet comporte une fenêtre de dialogue qui comporte deux champs de saisie. J'essaye d'en initialiser un des deux pour m'assurer que le code suivant fonctionne bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    #include "connection.h"
    #include "ui_connection.h"
    #include "QSqlDatabase"
    #include "sqlutil.h"
     
    Connection::Connection(QWidget *parent) :
        QDialog(parent),
        ui(new Ui::Connection)
    {
        ui->setupUi(this);
        QString text;
     
        // Début du soucis
        //text = "text";
        text = bm2sLib::singleton::sqlUtil::text();
        // Fin du soucis
     
        this->ui->UserName->setText(text);
    }
     
    Connection::~Connection()
    {
        delete ui;
    }
    Ce code fonctionne lorsque je suis dans ce cas là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        text = "text";
        //text = bm2sLib::singleton::sqlUtil::text();
    Mais pas dans l'autre cas, et je ne comprend pas pourquoi.
    La librairie compile très bien.

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2006
    Messages : 35
    Points : 29
    Points
    29
    Par défaut
    C'est bon, j'ai trouvé. Ça venait bien de la lib.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 30/12/2009, 15h50
  2. Réponses: 2
    Dernier message: 15/10/2008, 11h18
  3. Réponses: 11
    Dernier message: 10/06/2008, 16h22
  4. Réponses: 10
    Dernier message: 20/08/2007, 11h47
  5. Compiler pour utilisation sur Windows
    Par bit_o dans le forum Linux
    Réponses: 3
    Dernier message: 25/04/2007, 22h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo