QWizard instanciation crashes on Windows 10 x64



  • Hello everybody,

    My Qt4.3 application works fine and it's intalled in many client's PC but on only one It crashes. Logging this I found that it crashes when I'm trying to instanciate my wizard classe which derived from QWizard.

    Theres's my code

    wrileIntoLog("Affichage de la page de licence.");	
    	
    	try 
    	{
    		wrileIntoLog("Instanciation page licence ");
    		LicenseWizard wz(this); // it crashes here
    		if(wz.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");
        } 
    

    and there's my classes declarations

    class LicenseWizard : public QWizard // Wizard class
    
    class frmUsers : public QDialog, public frmUsersClass // parent class
    

    I've tried to change to LicenceWizard declaration by usign pointers but the problem still persist. Also I've tried to lunch my application after desactivate Avast and Firewall, same result.

    Can anyone telle me what to change to fix this problem

    Best regards.


  • Moderators

    @mourad_bilog What kind of crash is it? Segmentation fault or something else?
    What are you doing in the LicenseWizard constructor?



  • Thanks for replying.

    I don't know exactly what king of crash. The try ... catch don't give no information.

    Here's the begining of the LicenceWizard constructor

    LicenseWizard::LicenseWizard(QWidget *parent) : QWizard(parent)
    {
    
    	wrileIntoLog("Page Licence : Affichage"); // this info is not displayed in the log file
    
    	setWindowTitle(tr("Informations de la licence"));
    	setWindowIcon(QIcon(":/images/images/Security.png"));
    	setWizardStyle(QWizard::ModernStyle);	
    	
    	//initialiser les pages de la gestion des licences
    	DetailsPage * detailsPage = new DetailsPage;
    	IntroPage *introPage = new IntroPage;
    	
    OnlinePage *onlinePage = new OnlinePage;
    	OfflinePage *offlinePage = new OfflinePage;
    
    	setPage(Page_Intro, introPage);
    	setPage(Page_Details, detailsPage);
    	setPage(Page_Online, onlinePage);
    	setPage(Page_Offline, offlinePage);
    

  • Lifetime Qt Champion

    Hi,

    Can you get the stack trace of your crash ?



  • By just updating Qt4.3 dll by their equivalent 4.8, it works fine.

    It seems that Qt4.3 is not configured to turn on Windows 10.

    Thanks all for your suggestions


  • Lifetime Qt Champion

    Qt 4.3 is 11 years old so if you want to try to make it run on Windows 10, then you have to rebuild it yourself.

    Note that the Qt 4 series has reached end of life so you should consider updating to Qt 5 as quickly as possible.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.