Einzelnen Beitrag anzeigen

Benutzerbild von arc
arc

Registriert seit: 6. Nov 2009
Ort: Elbflorenz
62 Beiträge
 
FreePascal / Lazarus
 
#1

TabSheet zu PageControl hinzufügen, wer räumt auf?

  Alt 25. Jan 2010, 22:33
Eine kurze Frage, ich habe ein PageControl und erzeuge zur Laufzeit TabSheets.
Allerdings ignoriere ich den lokalen Pointer später da das Objekt z.B. über PageControl.Pages angesprochen werden kann.

Soweit, so gut. Wer ruft dann aber die Free Methode auf um den Speicher wieder leerzuräumen?
Geht das PageControl selbst durch alle Pages und ruft .Free auf? (So würde ich es machen.)
Oder muß ich mich um die heimlich hinzugefügten TabSheets selber kümmern? Danke!

Der Code soll eigentlich nur das Verhalten wie z.B. im Firefox Browser simulieren, man hat einen Tab mit der Funktion "Neuer Tab" und wenn man draufklickt wird ein neues Tab erzeugt und aktiv gesetzt. Gibt es hier geschicktere Lösungen? Danke!


Delphi-Quellcode:
procedure TForm_Main.PageControl1Change(Sender: TObject);
var mySheet:TTabSheet;
begin
  // darf ich das free ignorieren? Habe die Variable immer noch im Tabindex des Pagecontrol...
  if PageControl1.ActivePage.Name='TabSheetNewthen
  begin
    mySheet:=TTabSheet.Create(PageControl1);
    mySheet.PageControl:=PageControl1;
    mySheet.Caption:='Hallo';
    PageControl1.ActivePage.PageIndex:=PageControl1.PageCount-1;
    PageControl1.ActivePageIndex:=mySheet.PageIndex;
  end;
end;
  Mit Zitat antworten Zitat