Bonjour,
cela faisait longtemps que je n'avais pas utilisé QxOrm, et j'ai donc créé un nouveau projet récemment pour m'y remettre, et bon dans toutes mes classes utilisant QxOrm, j'ai une erreur lors de la compilation concernant la définition de l'id:
Voici ma classe:
Code : Sélectionner tout - Visualiser dans une fenêtre à part error: no matching function for call to 'qx::QxClass<RSSItem>::id(int RSSItem::*, const char [3])'
RSSItem.h
RSSItem.cpp
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 #ifndef RSSITEM_H #define RSSITEM_H class RSSChannel; #include <QString> #include <QDateTime> #include <QUrl> #include <QMetaType> class RSSItem { QX_REGISTER_FRIEND_CLASS(RSSItem) public: typedef qx::dao::ptr<RSSChannel> RSSChannelPtr; RSSItem(); virtual ~RSSItem() { ; } void setTitle(const QString &title); QString title() const; void setDateTime(const QDateTime &datetime); QDateTime dateTime() const; void setLink(const QString &link); QString link() const; void setDescritpion(const QString &description); QString description() const; void setGuid(const QString &guid); QString guid() const; void setRead(bool set); bool read() const; void setMarked(bool set); bool marked() const; private: int _id; QString _title; QDateTime _datetime; QString _link; QString _description; QString _guid; RSSChannelPtr _channel; bool _read; bool _marked; }; QX_REGISTER_HPP_RSS(RSSItem, qx::trait::no_base_class_defined, 0) typedef qx::dao::ptr<RSSItem> RSSItemPtr; typedef QList<RSSItemPtr> RSSItemPtrList; Q_DECLARE_METATYPE(RSSItem); Q_DECLARE_METATYPE(RSSItemPtr); #endif // RSSITEM_H
Je pense que cela doit venir de mon code, mais j'ai beau cherché, je ne trouve pas.
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 #include "precompiled.h" #include "rsschannel.h" #include "rssitem.h" #include <QxMemLeak.h> QX_REGISTER_CPP_RSS(RSSItem) namespace qx { template <> void register_class(QxClass<RSSItem> & t) { t.id(&RSSItem::_id, "id"); t.data(&RSSItem::_datetime, "datetime"); t.data(&RSSItem::_title, "title"); t.data(&RSSItem::_description, "description"); t.data(&RSSItem::_link, "url"); t.data(&RSSItem::_guid, "guid"); t.data(&RSSItem::_marked, "marked"); t.data(&RSSItem::_read, "read"); t.relationManyToOne(&RSSItem::_channel, "channel_id"); }} RSSItem::RSSItem() : _read(false), _marked(true) { } ...
Merci d'avance.
Partager