new & delete, aber delete will nicht funktionieren...
-
Hi,
ich steh irgendwie auf dem Schlauch...
...ich habe Speicherlöcher, dacht ich mir also gut ein delete sollte helfen...pustekuchen...also ein delete[]...und? genau! pustekuchen...
zum speziellen:
1. Hab ich ein PropertySheet mit new erzeugt
2. PropertyPages mit new CPropertyPage[iAnzahl]
3. ein Construct der einzelnen pages
4. ein AddPage(&oPage[i]) und die Seiten sind im Sheetwie kann ich aber den Speicher der PropertyPages wieder freigeben? Da ist nämlich das Speicherloch...
RemovePage(x), DestroyWindow,... schon ausprobiert...alles ohne erfolg...
-
CPropertySeet* pS = new CPropertySheet(); CPropertyPage* pP1 = new CPropertyPage(); CPropertyPage* pP2 = new CPropertyPage(); CPropertyPage* pP3 = new CPropertyPage(); pS->AddPage( pP1); pS->AddPage( pP2); pS->AddPage( pP3); pS->DoModal(); delete pP1; delete pP2; delete pP3; delete pS;
Wo ist das Problem?
-
Das problem liegt darin, das ich erst zur Laufzeit weiß wieviele Pages es sind und dieses Sheet zur Laufzeit in einen MDI-Frame kommt...
-
Und jetzt sollen wir raten, wo Dein Denkfehler liegt?
-
Öhm...nö...ich dachte nur es gäbe da einen Denkfehler drin, denn viele Menschen machen, oder es gäbe einen allgemein bekannten stolperstein, oder irgendsowas in der art...
-
Hilft Dir das?
CPropertySheet* pSheet = ...; while(pSheet->GetPageCount()) delete pSheet->GetPage(0);