Verständnisfrage zu new und delete



  • Hallo,

    ich habe folgenden Code:

    TForm *Form1 = new TForm(Application);
    TImage *Image1 = new TImage(Form1);
    Image1->Parent = Form1;
    

    Habe ich das so richtig verstanden, dass ich mich um das "Deleten" des hier mit new erzeugten Form und Image nicht zu kümmern brauche, wenn ich die Anwendung beende?

    Danke



  • Das ist richtig.
    Bei den VCL-Komponenten übergibt man einen "Owner" für die Komponenten. Sobald der Eigentümer gelöcht wird, d.h. bei dir die Applikation, werden (rekursiv) alle zugehörigen Komponenten gelöscht. Möchte man keine Owner angeben, so übergibt man 0 (NULL), und man muß selber die Komponenten von Hand freigeben.



  • Alles klar. Sehr schön erklärt. Vielen Dank.


Anmelden zum Antworten