Programm stürzt ab wenn Button gedrückt wird



  • Hallo!

    Ich habe ein MFC Programm, dass nach Eingabe der Daten Datensätze im einem zweiten Dialogfenster ausgibt.

    Die Ausgabe beginnt, wenn der Button "Start test" gedrückt wird. Wenn ich nun pro getestem Datensatz einen Text ausgebe, dann kann ich die Ausgabe ohne Probleme mit dem Button "Stop test" stoppen. Wenn ich aber keinen Text ausgebe, d.h. dass die Prüfung im Hintergrund läuft, und ich drücke "Stop test", dann hängt sich das Programm auf.

    Wenn der Button "Stop test" gedrückt wird, dann wird eine globale Variable gesetzt die in einer while-Schleife überprüft wird.

    Hier ist der Code des "Stop test" Buttons:

    void CTestoutputDialog::OnBnClickedStoptest()
    {
    	// disable Stop test button
    	GetDlgItem(IDC_STOPTEST)->EnableWindow(FALSE);
    
    	// set global variable
    	checkBreak = true;
    }
    

    Und hier der Code der while Schliefe, die die globlale Variable überprüft:

    // checkBreak: press of "Stop test"
    while ( checkBreak == false )
    {
    	tempError = TestSectors(tempsector);
    	tempsector++;
    	cntAll++;
    }
    

    Hat jemand eine Idee, was das Problem sein könnte?

    lg
    Renate



  • Ich gehe mal davon aus das der Buttonklick nicht verarbeitet wird solange die Schleife läuft.

    Du müsstest hier entweder mit Threads arbeiten oder die Messageloop selbst verarbeiten lassen. Wie steht in der FAQ.


Anmelden zum Antworten