diff --git a/components/lazutils/dictionarystringlist.pas b/components/lazutils/dictionarystringlist.pas index 04b5db7c16..6d88dd1617 100644 --- a/components/lazutils/dictionarystringlist.pas +++ b/components/lazutils/dictionarystringlist.pas @@ -53,9 +53,25 @@ type function IndexOf(const S: string): Integer; override; end; + procedure Deduplicate(AStrings: TStringList); implementation +procedure Deduplicate(AStrings: TStringList); +var + DSL :TDictionaryStringList; +begin + if AStrings.OwnsObjects then + raise Exception.Create('Deduplicate: OwnsObjects in AStrings is not supported.'); + DSL := TDictionaryStringList.Create; + try + DSL.Assign(AStrings); + AStrings.Assign(DSL); + finally + DSL.Free; + end; +end; + { TDictionaryStringList } constructor TDictionaryStringList.Create;