Что то я не пойму. Почти аналогично создаю TTabSheet:
Код:
var
MainForm: TMainForm;
Tab : TTabSheet;
REdit: TRichEdit;
procedure TMainForm.ToolButton1Click(Sender: TObject);
begin
Tab := TTabSheet.Create(PageControl1);
Tab.Visible := true;
Tab.Caption := 'Без имени.txt';
Tab.PageControl := PageControl1;
Tab.Hint := '';
Tab.ShowHint := True;
Tab.PopupMenu := EmptyPopupMenu;
PageControl1.ActivePageIndex := Tab.TabIndex;
REdit := TRichEdit.Create(Tab);
REdit.Parent:= Tab;
REdit.Align := alClient;
REdit.PopupMenu := EditPopupMenu;
Redit.Lines.Clear;
REdit.Visible := True;
REdit.SetFocus;
end;
И затем пытаюсь найти активный TTabSheet:
Код:
procedure TMainForm.ToolButton3Click(Sender: TObject);
var
i : Integer;
begin
if(SaveDialog1.Execute) then
begin
for i:=0 to ComponentCount-1 do
if Components[i] is TTabSheet then
begin
if (Components[i] as TTabSheet).PageIndex = PageControl1.ActivePageIndex then
begin
ShowMessage('qwe');
end;
end;
end;
end;
Сколько бы не создавал TTabSheet, ComponentCount у меня всё время равен 31. И ничего не находиться. Любой Components[i] = csInheritable. Что не так?