Bonjour a tous,

Voilà je rencontre un problème qui est pour l’instant a mon niveau incompréhensible. J’ai développé une application Qt qui utilise Qwt. Dans une de mes classes je déclare un Qwtplot. J’ai compilé l’ensemble en mode debug -> la tout fonctionne.
Maintenant je dois compiler en mode release -> à la compilation pas d’erreur ni de warning. Mais lors de l’exécution du programme je rencontre l’erreur suivante :
Debug error!
Program : ...
Module : 4.2.2
File Global\qglobal.cpp
line : 2001

QWidget : must construct a qApplication before a QpaintDevice
Je clique sur ignorer puis j’ai :
Debug error!
Program : ...
Module : 4.2.2
File Global\qglobal.cpp
line : 2001

QWidget : cannot create a Qwidget when no GUI is being used.
De nouveau je clique sur ignorer :
Debug error!
Program : ...
Module : 4.2.2
File Global\qglobal.cpp
line : 2001

Assert : "uncreated widgets" in file kernel\qwidget.cpp, line 901
Et finalement mon application plante :
unhauled exeption at 0x0047db2c (QtGui4) in XXX.exe : 0xC0000005 : access violation reading location 0x00000000
Il s’arrête dans le fichier Qhash.h à la ligne 239. Je pense (en faite pas sur du tout) que le pointeur qui pointe sur 0x00000000 est "This".

Voilà il me dit de faire une Qapplication avant, pourquoi pas mais comment je l’intègre au code. Ce n’est pas fait quand il passe dans le constructeur ? Et dans la documentation de Qapplication, il parle de int argc et char **argv, que représente t’il ?
De plus j’ai l’impression que c’est un problème de pointeur (selon la dernière erreur). Ou qu'il ne passe pas par le constructeur?
Voilà si certain on des pistes pour corriger ses erreurs je suis preneur. Je mets en suite la partit du code qui semble posée problème :

Appel de ma fonction :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
Maclasse **page_visu;
page_visu=(Maclasse**) malloc(20*sizeof(MAclasse*));
page_visu[i]= new page_visualisation1();
page_visu[i]->creation_page(...);
Puis ma fonction:
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
   void page_visualisation1::creation_page()
{
 
….
 
dial2->ajout_chemin(nom_variable_visua,p);
myPlot = new QwtPlot(nom_variable_visua);
 
	//créé un layout et intègre les éléments 
layout = new QHBoxLayout(this);
layout->addWidget(myPlot);
 
creer_menu();
creer_courbe();
 
myPlot->setMargin(2);
QString titre_axe_x("Temps en seconde");
myPlot->setAxisTitle(2,titre_axe_x);
 
QString titre_axe_y("Valeur du modèle");
myPlot->setAxisTitle(0,titre_axe_y);
 
QColor couleur1 = QColor(190,240,240,50);
myPlot->setCanvasBackground(couleur1);
 
 
	//dimmenssionne et affiche la page
resize(600,300);
show();
 
base_temps();
}
Dernière info : j'utilise visual studion 2005 SP1 avec Qt 4.2.2 et Qt intègration.

Merci pour vos réponsses. Et bon week end de paque à tous.