Bonjour,

Lors de la déclaration de ma classe dans le .h, je rencontre un drôle de problème. Dans la section private, je ne peux déclarer que un seul objet privé .

Si je déclare plusieurs objets, ca compile sans soucis, par contre l'application plante à son lancement (Le programme a généré des erreurs e tsera fermé par Windows... blablabla... voir le journal... blablabla).

Voici ma classe Veilleur.h :

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
#ifndef Veilleur_h
#define Veilleur_h
 
#include "Configuration.h"
#include "MailChecker.h"
#include "MC.h"
 
#include <QTextStream>
#include <QSettings>
#include <QObject>
#include <QTimer>
 
 #include <iostream>
 #include <QWidget>
 
 class QAction;
 class QMenu;
 
class Veilleur : public QObject
{
	Q_OBJECT	
 
public:
    Veilleur();
	void Demarrer();
	void Arreter();
	void Suspendre(int duree);  
    void Changer_frequence(int nouvelle_frequence);
 
private slots:
	void Essai_timer();
 
private:
	MailChecker mChecker;
	QAction *Act_Tic;
	//MC mon_mc;
	//Configuration ma_config;
};
 
#endif
Il s'agit d'une application QT4.2.2 compilée sous Windows avec MinGW.
Dans la section private, si je laisse "QAction *Act_Tic;", alors l'application plantera.
Il en va de même si je décommente la déclaration de "mon_mc" ou bien de "ma_config".

J'avoue ne rien comprendre et ca me frustre...




Pour plus d'informations, voici l'arborescence de mon programme :
Dans le main je crée une Icone (classe personnelle) :
Icone mon_icone;

Ma classe Icone déclare un Veilleur (en private) :
Veilleur mon_veilleur;

Ma classe Veilleur est celle ci-dessus, et elle déclare un MailChecker (en private) :
MailChecker mChecker;

Ma classe MailChecker va utiliser une socket TCP :
QTcpSocket *socket_r;



Voili voilou... Je ne comprends rien du tout .
Merci pour votre aide


PS : D'ailleurs ca fait pareil si j'essaie d'ajouter quelque chose en public