delete erforderlich bei dynamisch erzeugtem Edit ?



  • Hallo,

    Wenn ich beispielsweise sowas mache:
    Unit1.h

    public:
    TEdit *eddy;
    
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
      eddy=new TEdit(Form1);
      eddy->Parent = Form1;
    }
    

    Ich erzeuge damit ja ein TEdit das Form1 als Owner hat.
    Wenn nun der Destruktor von Form1 aufgerufen wird (Form1->Close()) gibt der auch "automatisch" den reservierten Speicher des TEdit wieder frei ?
    Oder muss ich das selber mit einem "delete eddy" machen ?

    Danke



  • Hallo

    in diesem Fall löscht das Form1 das Edit. Weil du Form1 im Konstruktor von dem TEdit als Owner angegeben hast. Wenn du statdessen nur TEdit(0) geschrieben hättest, müßtest du dann tatsächlich selber das Edit wieder löschen.

    bis bald
    akari



  • Danke. 🙂


Anmelden zum Antworten