タブシートの特定のタブですべてのコンポーネントをループする次のコードがあります。ネットで見つけた同じコードの多くのバリエーションを試しましたが、うまく動作しません。最初に、それが正しいタブであるかどうかを確認します-それは機能します。次に、コンポーネントの数を確認しますが、うまくいきません。合計 9 個のチェックボックスを持つ 2 つのパネルがあるにもかかわらず、0 コンポーネントと表示されます。
procedure TfrmHsUsers.pagUsersClick(Sender: TObject);
var
i: integer;
Fieldname: string;
begin
if pagUsers.Properties.ActivePage.Name = 'tabProgram' then
begin
ShowMessage(IntToStr(pagUsers.Properties.ActivePage.ComponentCount));
for i := 0 to pagUsers.Properties.ActivePage.ComponentCount - 1 do
if (pagUsers.Properties.ActivePage.Components[i]) is TcxDbCheckBox then
begin
Fieldname := TcxDbCheckBox(pagUsers.Properties.ActivePage.Components[i]).DataBinding.DataField;
TcxDbCheckBox(pagUsers.Properties.ActivePage.Components[i]).Enabled := Settings.License.IsEnabled(Fieldname);
end;
end;
end;
私のコードで何が間違っている可能性があるかについてのヒントはありますか?