AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Letztes TabSheet(PageControl) bleibt beim löschen stehen !
Thema durchsuchen
Ansicht
Themen-Optionen

Letztes TabSheet(PageControl) bleibt beim löschen stehen !

Ein Thema von Teclis · begonnen am 8. Okt 2003 · letzter Beitrag vom 8. Okt 2003
Antwort Antwort
Benutzerbild von Teclis
Teclis

Registriert seit: 20. Sep 2003
Ort: Norderstedt
21 Beiträge
 
#1

Letztes TabSheet(PageControl) bleibt beim löschen stehen !

  Alt 8. Okt 2003, 12:30
Moinsen....
ich habe folgendes Problem: Ich habe ein PageControl auf dem ich zur Laufzeit TTabsheets mit jeweils einem Memo erzeuge. Nun will ich alle löschen und bis auf das letzte werden auch alle gelöscht ! Aber warum das letzte nicht ?

Mit dieser Schleife habe ich es probiert :

Delphi-Quellcode:
for i:=0 to PageControl1.PageCount do begin
 NewMemo[i].Free;
 Pagecontrol1.Pages[i].Free;
 end;
In freudiger Erwartung auf Kommentare...

Teclis

[edit=Daniel B]Delphi-Tags korrigiert. Mfg, Daniel B[/edit]
Wer Rechtschreibfehler findet darf sie behalten ! :O)
  Mit Zitat antworten Zitat
Honie

Registriert seit: 27. Sep 2003
Ort: Bielefeld
39 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Letztes TabSheet(PageControl) bleibt beim löschen stehen

  Alt 8. Okt 2003, 12:41
Auf jeden Fall muss es Pagecount-1 heissen, da Pages ein 0-basiertes Array ist und
somit von 0 bis Pagecount-1 indiziert werden kann.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Letztes TabSheet(PageControl) bleibt beim löschen stehen

  Alt 8. Okt 2003, 12:49
Hai Teclis,

ich habe zum Test mal diesen Code geschrieben:

http://www.sharkys-home.de/smiles/finger.gif
Delphi-Quellcode:
var
 MyMemos : Array [0..10] Of TMemo;
 MyPages : Array [0..10] Of TTabSheet;

procedure TForm1.Button1Click(Sender: TObject);
var
 ndx : Integer;
begin
 for ndx := 0 to 10 do
  begin
   MyPages[ndx] := TTabSheet.Create(self);
   MyPages[ndx].PageControl := PageControl1;
   MyMemos[ndx] := TMemo.Create(self);
   MyMemos[ndx].Parent := MyPages[ndx];
   MyMemos[ndx].Visible := True;
   MyMemos[ndx].Align := alClient;
  end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
 ndx : Integer;
begin
 for ndx :=0 to PageControl1.PageCount-1 do
  begin
  MyMemos[ndx].Free;
  MyPages[ndx].Free;
  end;
end;
Er macht das ohne Probleme.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#4

Re: Letztes TabSheet(PageControl) bleibt beim löschen stehen

  Alt 8. Okt 2003, 12:53
Und hier mein Vorschlag:

Code:
[color=#f50000]for i:=Pred(PageControl1.PageCount) downto 0 [/color]do begin
  NewMemo[i].Free;
  Pagecontrol1.Pages[i].Free;
end;
Das hatten wir schon oft, beim Löschen aus Listen müssen diese RÜCKWÄRTS durchlaufen werden, da sich während des Löschens der Index der folgenden Seiten ändert

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Teclis
Teclis

Registriert seit: 20. Sep 2003
Ort: Norderstedt
21 Beiträge
 
#5

Re: Letztes TabSheet(PageControl) bleibt beim löschen stehen

  Alt 8. Okt 2003, 13:09
Hallo Zusammen...
danke ....jetzt funzt es !!!

Thx for help,
Teclis
Wer Rechtschreibfehler findet darf sie behalten ! :O)
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Letztes TabSheet(PageControl) bleibt beim löschen stehen

  Alt 8. Okt 2003, 13:13
Zitat von sakura:
Das hatten wir schon oft, beim Löschen aus Listen müssen diese RÜCKWÄRTS durchlaufen werden, da sich während des Löschens der Index der folgenden Seiten ändert


Er greift ja über den Seitenindex zu und nicht über sein Array. Habe ich total überlesen
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz