[gelöst] Objekt scheint zu existieren, obwohl noch nicht...
Verfasst: 18. Dezember 2007 14:37
Hallo,
im meiner Header-Datei habe ich den Pointer auf eine GroupBox
meine Funktion sieht jetzt folgendermaßen aus
Es soll geprüft werden, ob die GroupBox schon existiert und in gegeben Fall gelöscht werden. Wenn ich nur remove mache, erscheint sie leider trotzdem im Hintergrund, deswegen möchte ich sie komplett zerstören.
Diese GroupBox existiert am Anfang nicht und wurd zur Laufzeit eingefügt. Beim aller ersten Start des Fensters kann das Objekt also überhaupt nicht existieren und trotzdem geht er in die Schleife rein. Es kommt zum Absturz, weil er ja ein Objekt zerstören will, was garnicht existiert.
So denk ich mir das jedenfalls.
Meine Frage ist jetzt, was veranlasst mein Programm dazu, die Schleife zu betreten
Danke für eure Hilfe.
Viele Grüße
Jana
im meiner Header-Datei habe ich den Pointer auf eine GroupBox
Code: Alles auswählen
private:
QGroupBox* srcTopSigmaGroupBox;Code: Alles auswählen
void MyChild::createGroupBoxTophatSigma(QString type){
//existierende GroupBox löschen
if(srcTopSigmaGroupBox){
qDebug("Sigma existiert schon und muss gelöscht werden.");
srcTopMainLayout->removeWidget(srcTopSigmaGroupBox);
srcTopSigmaGroupBox->~QGroupBox();
}
srcTopMainLayout->setSizeConstraint(QLayout::SetNoConstraint);
setMinimumSize(0, 0);
srcTopSigmaGroupBox = new QGroupBox(tr("Sigma"));
srcTopMainLayout->addWidget(srcTopSigmaGroupBox);
srcTopMainLayout->setSizeConstraint(QLayout::SetDefaultConstraint);
}Diese GroupBox existiert am Anfang nicht und wurd zur Laufzeit eingefügt. Beim aller ersten Start des Fensters kann das Objekt also überhaupt nicht existieren und trotzdem geht er in die Schleife rein. Es kommt zum Absturz, weil er ja ein Objekt zerstören will, was garnicht existiert.
So denk ich mir das jedenfalls.
Meine Frage ist jetzt, was veranlasst mein Programm dazu, die Schleife zu betreten
Danke für eure Hilfe.
Viele Grüße
Jana