Beim schließen von Form's Arbeitsspeicher wieder freigeben



  • Hallo,

    ich habe in meinem Projekt 5 Formulare die grafisch sehr aufwendig gestalltet sind. Es gibt ein Hauptformular und 4 Unterformulare auf die ich über das Hauptformular zugreife. Nun Habe ich das Problem das wenn ich von meinem Hauptformular auf eines oder mehrere Unterformulare zugreifen bzw. mit Form->Show() öffne, dass dann die Auslastung meines Abreitspeichers immer größer wird. Das ist ja soweit auch normal bzw. OK. Nur wenn ich aber dann zurück zu meinem Hauptformular wechsel undt das Unterformular mit Form->Close() schließe wird der Arbeitsspeicher nicht wieder freigegeben. Wie kann ich es realisieren das dies nicht der Fall ist, also das mein Arbeitsspeicher wieder freigegeben wird? Gibt es noch einen anderen schließ Befehl?

    Vielen Dank



  • unter Projektoptionen die 4 Unterformulare aus den automatisch erzeugten Formulare herausnehmen und diese dan dynamisch erzeugen

    zB

    //header
    TForm2 *Form2;
    
    //cpp - zB ButtonClick 
    Form2 = new TForm2(Form1);
    Form2->Show();
    
    //cpp form schliessen
    Form2->Hide();         // ich glaube, das wird nicht nötig sein
    delete Form2;
    


  • Auf das delete Form2 kann man hier auch verzichten, wenn man in OnClose von Form2 Action=caFree; angibt.


Anmelden zum Antworten