Ich hab' gleich noch 'ne Frage, bei der ich mittlerweise zu lange gesucht habe
QT verwaltet seine QObjects (und abgeleitete) im Speicher selbst (d.h. zumindest solange man einen Parent angegeben hat). Aus diesem Grunde braucht man z.B. kein Delete für einen Dialog aufrufen, den man mit new erzeugt hat.
Nun haben jedoch einige meiner Dialoge member, deren Destruktor nach dem Abmelden der Datenbank nicht mehr aufgerufen werden darf (wenn man's doch tut gibt eine Ausnahme). Aus diesem Grunde muss ich diese Dialog immer mit delete wieder rechtzeitig zerstören.
Manchmal vergesse ich das oder im Zusammenhang mit einer anderen (gefangenen) Ausnahme bleibt der Dialog im Speicher. In solchen Fällen wird buchstäblich auf den letzten Zentimetern (nämlich dann wenn QT alle seine noch vorhandenen Objekte abbaut) eine Ausnahme geworfen (was zwar nicht mehr stört aber ziemlich bescheuert aussieht).
So, jetzt meine Frage :
Kann ich Qt dazu zwingen, alle nicht mehr geöffneten Dialoge (diese sind ja von QObject abgeleitet) aus dem Speicher zu löschen. Allerdings können (z.B. bei einem Wechsel der Datenbank) noch Dialoge offen sein, die sollen natürlich nicht gelöscht werden.
Mir würde es auch genügen, wenn ich eine Liste von Pointern aller noch gültigen Dialoge erhalte, dann kann ich selber schauen, welche davon noch offen sind und welche nicht
Gruss Arne
[gelöst] delete für alle QObjects (und abgeleitete)
-
ArneStocker
- Beiträge: 300
- Registriert: 3. November 2004 16:15
- Wohnort: Berlin
-
ArneStocker
- Beiträge: 300
- Registriert: 3. November 2004 16:15
- Wohnort: Berlin