var AProps: TCatalogItemProps; AProp: TCatalogItemProp; AHit: Integer; AProgress: TxomProgress; begin AProgress := TxomProgress.Create(nil); AProps := TCatalogItemProps.Create(TCatalogItemProp, ''); try PublicCatalog.EnumAllProps(AProps); AHit := 0; AProgress.Caption := 'Switch OM Assign Parent Labels'; AProgress.Max := AProps.Count; AProgress.Show; for i := 0 to AProps.Count - 1 do begin AProp := AProps.Items[i]; AProgress.Pos := i + 1; AProgress.ProgressText := AProp.PropName; if AProgress.Cancel then break; if not AProp.ParentAssign then begin AProp.ParentAssign := True; PublicCatalog.UpdateProp(AProp); Inc(AHit); end; end; finally AProgress.Free; AProps.Free; end; Say (IntToStr(AHit) + ' catalog labels updated'); end;