Forum: Programmieren allgemein
by Mikkey,
17. Sep 2014
Der Debugger stoppt natürlich an gesetzten Haltepunkten, dafür waren die "(void)0" doch da, oder?
Das DestroyComponent im eigentlichen Projekt (s. Frage)
Es ist C++Builder XE (neue Version kommt noch)
@sx2008:
Die TComponents geben mir außerdem die Owner/Member--Beziehung, die ich sonst mit Objektlisten etc selbst verwalten müsste, deshalb sind die schon angebracht.
An Referenzzählung...
Forum: Programmieren allgemein
by Mikkey,
16. Sep 2014
Komischerweise stoppt der Debugger an den (void)0-Zeilen. Nachdem ich das betreffende Projekt wieder geladen habe und einen "DestroyComponent" auskommentiert habe, hat er im Destruktor der Member-Klasse ebenfalls angehalten. Die vorher generierten "nicht-gelöscht-Debugausgaben" sind ebenfalls nicht mehr da.
Dafür gibt's jetzt andere Fehler, das muss ich mir erstmal ansehen.
Das ganze...
Forum: Programmieren allgemein
by Mikkey,
16. Sep 2014
Dann nehme ich wenigstens mit, dass es in Delphi das tut, was ich erwarte :?
Forum: Programmieren allgemein
by Mikkey,
16. Sep 2014
Leider hilft mir beides nicht weiter, denn
a) gibt es in C++ kein "inherited", der Destruktor der Basisklasse wird ohnehin implizit aufgerufen (lässt sich auch aus Vorsatz nicht verhindern)
b) Strg+Shift+C tut im C++Builder ... nichts
Glücklicherweise führt der manuell eingefügte DestroyComponents(); nicht zu einem Fehler, ich hätte darauf nur gern verzichtet, wenn TComponent das doch...
Forum: Programmieren allgemein
by Mikkey,
16. Sep 2014
Es geht zwar um ein Projekt in C++ (XE), aber ich denke/gehe davon aus, dass das Verhalten in Delphi dasselbe sein sollte.
Da ich Interfaces (anstelle von Sätzen von Rückruffunktionen) verwenden möchte, sind alle eigenen Klassen von TComponent abgeleitet.
Ich verstehe die hier mit der Suche gefundenen Beiträge so, dass beim Zerstören eines TComponent-Objekts (owner) auch die TComponents...