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

QxOrm Discussion :

Moteur d'introspection et namespaces


Sujet :

QxOrm

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 151
    Points : 49
    Points
    49
    Par défaut Moteur d'introspection et namespaces
    Hello !

    J'ai trouvé un bogue
    C'est assez simple à reproduire, le simple fait d'ajouter le namespace fait que j'ai cette erreur:
    [QxOrm] cannot create an instance of type 'Person'

    En gros, j'ai l'impression que le moteur d'introspection prend mal en compte le t.setName( "Person" );

    Ci-joint, un projet d'exemple.
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Avril 2010
    Messages
    481
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 481
    Points : 4 238
    Points
    4 238
    Par défaut


    Ce n'est pas un bogue : c'est le fonctionnement normal du moteur d'introspection de QxOrm.
    Pour créer une instance de classe en utilisant le moteur d'introspection (factory) ou bien accéder à une propriété/fonction par introspection, tu dois utiliser le vrai nom C++ de la classe, ça n'a rien à voir avec la table mappée dans ta BDD.

    Donc voici ce que tu dois utiliser si tu as des namespace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    qx::IxDataMember * pProperty = qx::QxClassX::getDataMember( "issue::db::Person", "name" );
    Le site de la bibliothèque QxOrm : bibliothèque C++ de gestion de données (Mapping Objet Relationnel ou ORM) basée sur les frameworks Qt et boost.
    QxEntityEditor : éditeur graphique pour la bibliothèque QxOrm (application multi-plateforme pour gérer graphiquement le modèle d'entités).

    Tutoriel : installer un environnement de développement avec QxOrm sous Windows.
    Tutoriel qxBlog : gestion de blogs en C++/Qt.
    Tutoriel qxClientServer : création d'un serveur d'applications en C++/Qt.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 151
    Points : 49
    Points
    49
    Par défaut
    Ah ! Ok

    Merci

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 151
    Points : 49
    Points
    49
    Par défaut
    Mmh... En fait, ce qui serait super, ce serait de pouvoir obtenir une instance de donnée membre grace au nom d'une table...

    Qu'en penses-tu ?

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Avril 2010
    Messages
    481
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 481
    Points : 4 238
    Points
    4 238
    Par défaut
    Mmh... En fait, ce qui serait super, ce serait de pouvoir obtenir une instance de donnée membre grace au nom d'une table...
    Non pour le moment, je ne pense pas : le moteur d'introspection de QxOrm est relativement indépendant du moteur de persistance (BDD). Et je veux éviter de tout mélanger. Si tu veux faire comme ça, tu peux très bien créer dans ton code une hash_table qui pour un nom de table donné renvoie un nom de classe C++. Mais bon, j'avoue que pour le moment, je ne vois pas trop l'intérêt.
    Le site de la bibliothèque QxOrm : bibliothèque C++ de gestion de données (Mapping Objet Relationnel ou ORM) basée sur les frameworks Qt et boost.
    QxEntityEditor : éditeur graphique pour la bibliothèque QxOrm (application multi-plateforme pour gérer graphiquement le modèle d'entités).

    Tutoriel : installer un environnement de développement avec QxOrm sous Windows.
    Tutoriel qxBlog : gestion de blogs en C++/Qt.
    Tutoriel qxClientServer : création d'un serveur d'applications en C++/Qt.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 151
    Points : 49
    Points
    49
    Par défaut
    Yep, ok, c'est ce que j'ai fait

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

Discussions similaires

  1. moteur de particules :Dessiner un point
    Par houssa dans le forum OpenGL
    Réponses: 2
    Dernier message: 25/06/2003, 22h13
  2. [Debutant][Divers] - namespace et attributs
    Par sebbb dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 10/06/2003, 14h40
  3. Erreur récurrente (namespace)
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 3
    Dernier message: 25/02/2003, 10h27
  4. [Technique] Index, comment font les moteurs de recherche ?
    Par bat dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 25/10/2002, 15h41

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