Am Dienstag, dem 26. März 2002 um 20:43:44, schrieb Jens Lorenz:
Warning: All child objects are deleted. If any of these objects are on the stack or global, your program will sooner or later crash.
Ja das kenne ich, aber wie verhindere ich es auf *einfache* Art? Ein Compiler-Flag oder ähnliches suche ich.
Nur so ein Idee: falls du deine Child-Widgets behalten möchtest, könntest du ihnen ja vorher ein anderes Parent-Widget geben (QObject::reparent()).
Gibt es in meiner Dokumentation nicht, es gibt nur QWidget::reparent() .
BTW: Qt ist nicht das einzige GUI-Toolkit, das dieses Verhalten hat. Ich habe damit auch noch keine Probleme gehabt ...
Schön für dich, aber es ist trotzdem krank und verhindert sauberes Programmieren in C++; Stichwort smart pointer, "resource acquisition is initialization" etc.
Torsten
P. S.: Habe gerade 'void QObject::removeChild(QObject* obj)' gefunden, probiere es demnächst mal aus. Ist außerdem trotzdem nicht so einfach wie der von mir erhoffte Compiler-Flag.