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

Qt Discussion :

Instanciation de QWizard qui plante sur Windows 10


Sujet :

Qt

  1. #1
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 276
    Points : 83
    Points
    83
    Par défaut Instanciation de QWizard qui plante sur Windows 10
    Bonjour tout le monde,

    Sur le PC Windows 10 de l'un des mes client, mon application C++ Qt 4.3 plante lorsque j'instancie une classe qui hérite de QWizard. Ce problème ne survient que sur un seul PC parmi des dizaines (voires centaines) d'installlation réussies.

    Voici le code source ou survient le plantage
    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
    try 
    	{
    		wrileIntoLog("Instanciation page licence ");
            LicenseWizard * wizard = new LicenseWizard(); // cette instanciation provoque le plantage.
    		if(wizard->exec())
    		{	wrileIntoLog("Information de licence crée");
    			accept();
    		}    
    	} 
    	catch (std::exception &e) 
    	{
           	wrileIntoLog(QString(e.what()));
    	} 
    	catch ( const std::out_of_range & ) 
    	{ 
    		wrileIntoLog("Erreur : débordement de mémoire.\n"); 
    	}
    	catch ( const std::bad_alloc & ) 
    	{ 
    		wrileIntoLog("Erreur allocation mémoire");
        } 
    	catch (...) 
    	{ 
    		wrileIntoLog("Echec instanciation page wizard");
        }
    La classe LicenceWizard hérite de QWizard :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    class LicenseWizard : public QWizard
    Voici la déclaration de ma classe appelante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    class frmUsers : public QDialog, public frmUsersClass
    Est ce quelqu'un a rencontré un problème similaire et pourrais me donner des informations pour le résoudre sachant que j'ai essayé de lancer l'application en désactivant Avast mais le problème persiste.

    Merci d'avance.

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 585
    Points
    188 585
    Par défaut


    Qt 4.3 n'a jamais été prévu ou testé pour fonctionner sous Windows 10, c'est plus par chance que ça marche… Pourrais-tu au moins tenter une mise à jour vers Qt 4.8, voir si ça résout le problème ? (Normalement, juste mettre à jour les DLL de Qt, tant que c'est exactement le même compilateur, devrait suffire.)
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  3. #3
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 276
    Points : 83
    Points
    83
    Par défaut
    Yeap. C'est ça.

    Merci infiniment.

  4. #4
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 612
    Points : 30 612
    Points
    30 612
    Par défaut
    Salut,

    Moi, y a quand même un truc qui me turlupine : pourquoi créer ton wizard de manière dynamique (d'autant plus que tu ne le détruit jamais)

    A priori, une fois que le client a accepté la licence, tu n'en a plus aucun besoin, et tu te simplifierait donc énormément la vie avec un code proche de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        wrileIntoLog("Instanciation page licence ");
        LicenseWizard wizard;
            if(wizard.exec())
            {
                wrileIntoLog("Information de licence crée");
                accept();
            }
        /* A priori, aucun risque d'exception à craindre... */
    Non
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

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

Discussions similaires

  1. Un war qui marche bien sur Windows et qui plante sur Linux
    Par router_ dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 12/08/2011, 12h09
  2. Réponses: 4
    Dernier message: 08/03/2011, 09h21
  3. Réponses: 8
    Dernier message: 13/10/2006, 15h14
  4. Application Delphi 6 qui plante sur Windows Server 2003
    Par david_chardonnet dans le forum Langage
    Réponses: 1
    Dernier message: 12/01/2006, 15h20
  5. .exe qui plante sur d'autres PC ????????
    Par OutOfRange dans le forum Langage
    Réponses: 1
    Dernier message: 02/11/2005, 22h52

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