Danke für eure Hinweise. Mir ist klar geworden, dass dieses von mir als krank bezeichnete Verhalten wahrscheinlich in der Bibliothek intern vorausgesetzt wird. Deswegen kann es keinen einfachen Weg geben, es abzuschalten.
Ein guter Grund, den GUI-Code von der eigentlichen Anwendungen sauber zu kapseln und darin mit den QT-Macken zu leben, auch wenn ich sie hässlich finde. Oder ich schaue mir mal gtkmm an... ;-) Es scheint aber keine Windows-Version davon zu geben. :-(
Am Mittwoch, dem 27. März 2002 um 06:20:58, schrieb Konrad Rosenbaum:
Meine Programme funktionieren ganz gut mit diesem Verhalten. Eigentlich funktionieren sie nur _weil_ es da ist.
Aha, C++-Programme, die kein QT benutzen, funktionieren dann bei dir nie?
Sehr viele Probleme lassen sich dadurch loesen, dass man eine Signal-Slot-Verbindung aufbaut und das signalisierende Objekt seinen this-Pointer mitliefert.
Auch so eine Krücke, die schön gedacht, aber schlecht in QT implementiert ist.
Ansonsten versuch es mal mit Sprachen, die einen Garbage Collector haben: SmallTalk, Ruby, Java, etc. - da entfallen diese Probleme.
Ich habe meine Zweifel, dass diese Garbage Collectors wirklich das Wahre sind. Nun gut, sie sind zumindest anfängerfreundlich. Wenn ich in solchen Sprachen programmiere, dann kenne ich das Verhalten und es stört mich dann auch nicht bzw. ich nutze es zu meinem Vorteil.
In C++ erwarte ich nicht, dass eine Bibliothek das Speichermanagement eines Teils meiner Objekte übernimmt (nur die, die von QObject abgeleitet sind) und es dann noch falsch macht (delete für ein Stack-Objekt aufrufen!). Normalerweise verwende ich kaum Zeiger und wenn doch, dann nicht in ihrer Reinform, sondern z. B. http://www.boost.org/libs/smart_ptr/index.htm .
Torsten