[gelöst]setCentralWidget(); close(); App Ende=Fehlermeldg?

Alles rund um die Programmierung mit Qt
Antworten
24dan
Beiträge: 274
Registriert: 26. Juni 2006 14:15
Wohnort: Hamburg

[gelöst]setCentralWidget(); close(); App Ende=Fehlermeldg?

Beitrag von 24dan »

Hi nach dem Einsatz von setCentralWidget() bekomme ich beim Schliessen meines Programms eine Fehlermeldung.

FEHLERHERGANG:

1. k= new K(this);
MainWindow::setCentralWidget(k);

2. close();

3. Programm wird nicht ohne Fehlermeldung ( -1073741819) geschlossen

:?
Zuletzt geändert von 24dan am 26. April 2010 08:12, insgesamt 3-mal geändert.
"Der erste Trunk aus dem Becher der Naturwissenschaften macht atheistisch, aber auf dem Grund des Bechers wartet Gott."
(W. Heisenberg)
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Du löschst nicht zufällig im ~MainWindow beide Widgets wieder?
Wenn nicht -> (mehr) Code!

// edit:
Kannst du denn echt nicht mit nem Debugger umgehen?
Da solltest du schnell hinter deine Probleme kommen, insbesondere schneller als immer im Forum auf einen kompetenten Debugger zu hoffen :D
Zuletzt geändert von franzf am 25. April 2010 18:32, insgesamt 1-mal geändert.
24dan
Beiträge: 274
Registriert: 26. Juni 2006 14:15
Wohnort: Hamburg

Beitrag von 24dan »

Code: Alles auswählen


//! Destruktor des Hauptprogramms
MainWindow::~MainWindow()
{
    delete ui;
}
Das hier ist alles im ~Main..


Hier mal eine einfacher Test Quelltext:

Code: Alles auswählen

 
void MainWindow::test()
{
   if(this->okay){
      qDebug()<<this->okay;
      close();
   }

    if(!this->okay){
       qDebug()<<this->okay;
       k = new K(this);
       this->setCentralWidget(k);
       this->okay = true;
    }
}
Ausgabe
false // erster Klick: Widget in CentralWidget geladen
true // zweiter Klick: Anwendung geschlossen mit Fehlermeldung
"Der erste Trunk aus dem Becher der Naturwissenschaften macht atheistisch, aber auf dem Grund des Bechers wartet Gott."
(W. Heisenberg)
24dan
Beiträge: 274
Registriert: 26. Juni 2006 14:15
Wohnort: Hamburg

Beitrag von 24dan »

franzf hat geschrieben: // edit:
Kannst du denn echt nicht mit nem Debugger umgehen?
Da solltest du schnell hinter deine Probleme kommen, insbesondere schneller als immer im Forum auf einen kompetenten Debugger zu hoffen :D
Hast Recht sollte ich umbedingt lernen. Fangen wir an...

Fehlermeldung:
Der Debugger konnte die Ausgabe-Hilfsbibliothek nicht finden.
"Der erste Trunk aus dem Becher der Naturwissenschaften macht atheistisch, aber auf dem Grund des Bechers wartet Gott."
(W. Heisenberg)
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Zu deiner Fehlermeldung findet man sicher was bei Google.
Weiter wäre dein Betriebssystem, Compiler, Debugger, Qt-Creator- und Qt-Versionen interessant.
Ich habe hier mit Qt Creator kein Problem zu debuggen. Bei Gentoo gibt es ein USE-Flag "debugger" was nahe legt dass dieses Feature optional ist. Vllt. fehlt das ja bei dir.
24dan
Beiträge: 274
Registriert: 26. Juni 2006 14:15
Wohnort: Hamburg

Beitrag von 24dan »

franzf hat geschrieben:Weiter wäre dein Betriebssystem, Compiler, Debugger, Qt-Creator- und Qt-Versionen interessant.
Ich habe hier mit Qt Creator kein Problem zu debuggen. Bei Gentoo gibt es ein USE-Flag "debugger" was nahe legt dass dieses Feature optional ist. Vllt. fehlt das ja bei dir.
Ich denke ich mache erstmal diesen Post dicht und kümmere mich gesondert um meinen Debugger.

Zu meinem obrigen Problem.

LÖSUNG:
Es ist ein sehr individuelles Problem meiner Anwendung gewesen.

Ein PlainText der auf modified in mayBeSaved() vor dem Schliessen geprüft wurde ist zu dem Zeitpunkt unter bestimmten Umständen nicht existent und dann krachte es.

Also ein klassischer PEBKAC.
:oops:
"Der erste Trunk aus dem Becher der Naturwissenschaften macht atheistisch, aber auf dem Grund des Bechers wartet Gott."
(W. Heisenberg)
Antworten