Dann zeig doch mal ein bisschen Code- Ich kann das nicht nachvollziehen: Wie auch in Delphi ist die Reihenfolge
- ~TOwner
- Geerbter TComponent-Destruktor: Ruft TComponent.DestroyComponents() auf
- Diese Methode zerstört die TMember-Instanz
- ~TMember
Code:
#include <
vcl.h>
#include <windows.h>
#pragma hdrstop
#pragma argsused
#include <tchar.h>
#include <stdio.h>
class TOwner: public TComponent {
public:
__fastcall virtual ~TOwner() {
(void)0; // Haltepunkt. Wird erreicht.
}
__fastcall virtual TOwner(TComponent* AOwner): TComponent(AOwner){};
};
class TMember: public TComponent {
public:
__fastcall virtual ~TMember() {
(void)0; // Haltepunkt. Wird erreicht.
}
__fastcall virtual TMember(TComponent* AOwner): TComponent(AOwner){};
};
int _tmain(int argc, _TCHAR* argv[])
{
TOwner *myOwner = new TOwner(NULL);
TMember *myMember = new TMember(myOwner);
myOwner->Free();
return 0;
}