Wie gesagt, die Form ist der Ownder, also sind die Frames nur in .Components der Form enthalten.
Frame Suchen:
Du mußt somit in TabScheet.Controls suchen.
Oder du suchst in Form.Components nach dem Frame mit Frame.Parent=FrameControl.ActivePage .
In Frame.Components sind dann alle Komponenten (auch das Grid), welche irgendwo auf den Frame draufgelegt wurden.
In Frame.Controls sind nur die Komponenten, welche "direkt" auf dem Frame liegen.
Delphi-Quellcode:
var Frame: TFrame;
SG: TAdvStringGrid;
I: integer;
begin
for I := 0 to FrameControl.ActivePage.ComponentCount -1 do begin
if Components[I] is TFrame then begin
Frame:= Components[I] as TFrame; // wenn For und If nichts treffen, dann ist "Frame" nichts zugewiesen
end;
end;
for I := 0 to Frame.ComponentCount -1 do begin // -> Warnung "Frame"
if Components[I] is TAdvStringGrid then begin
SG:= Components[I] as TAdvStringGrid;
end;
end;
// irgendwas mit SG -> Warnung "SG"