Hallo,
ich habe momentan einen (für mich) sehr merkwürdigen Fehler im Programm.
Ich erstelle einen Frame, in welchem ein TPageControl liegt. Dieses enthält zur Entwicklungszeit bereits 7 TabSheets.
Nach dem Erstellen des Frames möchte ich einige TabSheets unsichtbar machen:
Delphi-Quellcode:
constructor TFrameKarteikarten.Erzeugen;
begin
inherited Create(nil);
end;
procedure TFrameKarteikarten.DeaktiviereTabs;
begin
pcListen.Pages[0].TabVisible := false; <--- Hier tritt der Fehler auf
end;
...
FrameKarteikarten := TFrameKarteikarten.Erzeugen;
FrameKarteikarten.DeaktiviereTabs;
Er meldet eine "Out of bounds (7)"-
Exception.
So nun habe ich eben ein paar Haltepunkte gesetzt, etwas herumgespielt und nun geht es doch wieder.
Der Konstruktor sieht nun so aus und der Fehler ist nun weg:
Delphi-Quellcode:
constructor TFrameKarteikarten.Erzeugen;
begin
inherited Create(nil);
DeaktiviereTabs;
end;
Auch wenn ich es wieder zurückändere, geht es nun ohne
Exception.
Kann es sein, dass im Konstruktor das TabSheet noch nicht ganz erzeugt worden ist? Verhält sich der Compiler anders, wenn ich im Konstruktor auf Eigenschaften eines Steuerelements zugreife?
Ich verstehe jedenfalls nicht, woran es liegt...
Vielleicht hat ja jemand einen Tipp