Remove Control



  • Hallo!

    Ich habe in meiner Applikation ein Panel, das ich zur Laufzeit mit TCharts fülle. Zum erstellen der TCharts gehe ich folgendermaßen vor:

    TChart *chart = new TChart(panel);
    panel->InsertControl(chart);
    

    Bevor die Charts erstellt werden, sollen die alten gelöscht werden, und da hab ich Probleme:

    int count = panel->ControlCount;
    for(int i = 0; i < count; i++)
    {
      panel->Controls[0]->Free();
    }
    

    Mit dieser Routine bekomme ich manchmal eine Zugriffsverletzung...

    int count = panel_->ControlCount;
    for(int i = 0; i < count; i++)
    {
      panel_->RemoveControl(panel_->Controls[0]);
    }
    

    Wenn ich das ca. 30 mal auführe, dann bekomme ich EOutOfResources...

    Vielleicht kann mir jemand helfen...
    Danke Wilfried



  • InsertControl, Free und RemoveControl sollten allesamt nicht verwendet werden, Begründung steht jeweils in der Hilfe.
    Stattdessen sind nur new/delete sowie das Setzen der Parent-Property angesagt.


Anmelden zum Antworten