|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : juin 2009 Messages : 33 ![]() |
Bonjour,
Lors de l'exécution de mon application, j'obtiens l'erreur suivante : Code :
Code :
Est-il possible que cela soit lié à une option de compilation ? A l'utilisation du multi-tâche ? |
||||
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() ![]() Inscription : avril 2010 Messages : 331 ![]() |
![]() Citation:
EDIT: Fais quand même attention à ton "&conn->getConnection()", en effet, avec la classe QSqlDatabase, ton instance de connexion doit être créées dans le même thread que l'exécution de ta requête (QxOrm le gère automatiquement, mais dans ton cas, tu forces toi-même la connexion donc faut faire attention). Plus de détails sur le site de Qt : http://doc-snapshot.qt-project.org/4...ldatabase.html Citation:
Est-ce que tu laisses les valeurs par défaut quand tu compiles QxOrm ? Ou bien tu actives QxMemLeak ou autre chose ?
__________________
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. Tutoriel qxBlog : gestion de blogs en C++/Qt. Tutoriel qxClientServer : création d'un serveur d'applications en C++/Qt. |
||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : juin 2009 Messages : 33 ![]() |
Le problème survient plus précisément lors du traitement de la méthode const char * get_sql_type_by_class_name() lors de l'appel de la méthode std::string::assign().
Je ne penses pas que cela soit lié à la connexion à la base de donnnées. Il y a une variable statique manipulé lors du traitement de cette méthode. |
|
|
00
|
|
|
#4 | |
|
Membre Expert
![]() ![]() Inscription : avril 2010 Messages : 331 ![]() |
Citation:
Si tu peux envoyer un petit projet de test que je peux compiler facilement et qui reproduit ton erreur, je suis preneur...
__________________
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. Tutoriel qxBlog : gestion de blogs en C++/Qt. Tutoriel qxClientServer : création d'un serveur d'applications en C++/Qt. |
|
|
|
00
|
|
|
#5 | ||
|
Invité de passage
![]() Inscription : juin 2009 Messages : 33 ![]() |
En attendant de terminer de préparer un petit projet, ci-dessous le code source de la partie qui implémente l'accès aux données :
Code :
L'arrêt du programme a lieu dans lors de l'appel de la méthode qx::dao::fetch_by_query() dans la méthode SAMRequestEntity::next(). Je précise que cette dernière est appelé au lancement du programme. J'utilise une base de données PostgreSQL 8.4 et Qt Sql 4.8.4. Ci-joint une capture écran de la pile d'appel dans la fenêtre de debug eclipse 4.2.1 cdt. |
||
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : juin 2009 Messages : 33 ![]() |
Le problème n'apparaît que si l'application est arrêté puis relancé.
|
|
|
00
|
|
|
#7 | |||
|
Membre Expert
![]() ![]() Inscription : avril 2010 Messages : 331 ![]() |
Citation:
Citation:
Tu n'as pas moyen d'appeler ta méthode un peu plus tard qu'au lancement de l'appli ? Citation:
__________________
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. Tutoriel qxBlog : gestion de blogs en C++/Qt. Tutoriel qxClientServer : création d'un serveur d'applications en C++/Qt. |
|||
|
|
00
|
|
|
#8 |
|
Membre à l'essai
![]() Inscription : juin 2008 Messages : 142 ![]() |
Je ne sais pas si ça peut aider, mais je pense que ce type d'erreur peut se corriger plus simplement avec valgrind. Il affichera l'endroit du code où il y a débordement, ou bien accès invalide.
Ah et pendant que j'y pense, je conseille également cppcheck qui me permet de trouver des petites erreurs dans mon code. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com