Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi JvPageControl erweitern (https://www.delphipraxis.net/36337-jvpagecontrol-erweitern.html)

Circle 18. Dez 2004 16:20


JvPageControl erweitern
 
Hallo leute, hab da ein problem

ich will während mein programm läuft, das pagecontrol erweitern. hab hier im forum zwar was gefunden aber da kommt immer nen fehler.

das is meinn code

bestellung ist ein formular
Code:
anz_zeilen := DataSource1.DataSet.RecordCount;


  for i := 1 to 10 do begin
    SetLength(TabSheets, succ(i));
    TabSheets[i] := TTabSheet.Create(Bestellung.JvPageControl1);
    TabSheets[i].Parent := Bestellung.JvPageControl1;
    TabSheets[i].Name := 'ArtSheet'+InttoStr(i);
    TabSheets[i].Caption := DBGrid1.Fields[i].DisplayText;
    TabSheets[i].Tag := i;
    TabSheets[i].Visible := true;
    TabSheets[i].PageControl := Bestellung.JvPageControl1;
  end;
das problem jetzt ist, das er keine neuen tabsheets erstellt, kommt immer ein zugriffsfehler oder so.

omata 18. Dez 2004 16:33

Re: JvPageControl erweitern
 
Moin,

wenn du mit dynamischen Arrays arbeitest, dann ist das erste Element immer Null.

Also setlength(TabSheets, 1) -> TabSheets[0].????

zu deinem Beispiel...

Delphi-Quellcode:
anz_zeilen := DataSource1.DataSet.RecordCount;

SetLength(TabSheets, anz_zeilen);
for i := 1 to anz_zeilen do begin
  TabSheets[i-1] := TTabSheet.Create(Bestellung.JvPageControl1);
  TabSheets[i-1].Parent := Bestellung.JvPageControl1;
  TabSheets[i-1].Name := 'ArtSheet'+InttoStr(i);
  TabSheets[i-1].Caption := DBGrid1.Fields[i].DisplayText;
  TabSheets[i-1].Tag := i-1;
  TabSheets[i-1].Visible := true;
  TabSheets[i-1].PageControl := Bestellung.JvPageControl1;
end;
da in deinem Beispiel anz_zeilen gar nicht verwendet wurde, habe ich es hier mal mit eingebaut (hoffe das ist so, wie du es eigentlich benutzten wolltest). Wenn das so sein sollte, dann würde ich das Array einmal setzten (vor der Schleife) und dann in der Schleife nur noch initalisieren.

MfG
Thorsten


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:50 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