Uses TypInfo;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
begin
for I := 0 to ComponentCount - 1 do
if IsPublishedProp(Components[I], 'Caption') then
ListBox1.Items.Add(Components[I].Name);
end;