* Merging revisions 45222 from trunk:

------------------------------------------------------------------------
    r45222 | michael | 2020-05-02 17:49:58 +0200 (Sat, 02 May 2020) | 1 line
    
    * Allow property list to be sorted (patch from Denis Grynuk, bug ID #36803)
    ------------------------------------------------------------------------

git-svn-id: branches/fixes_3_2@45225 -
This commit is contained in:
michael 2020-05-02 15:58:06 +00:00
parent 76effcf10d
commit 2e2f836a26

View File

@ -47,7 +47,7 @@ type
FSize: Integer;
function Get(Index: Integer): PPropInfo;
public
constructor Create(AObject: TObject; Filter: TTypeKinds);
constructor Create(AObject: TObject; Filter: TTypeKinds; Sorted: Boolean = True);
destructor Destroy; override;
function Contains(P: PPropInfo): Boolean;
function Find(const AName: string): PPropInfo;
@ -157,14 +157,14 @@ end;
{ TPropInfoList }
constructor TPropInfoList.Create(AObject: TObject; Filter: TTypeKinds);
constructor TPropInfoList.Create(AObject: TObject; Filter: TTypeKinds; Sorted: Boolean);
begin
if AObject <> nil then
begin
FCount := GetPropList(AObject.ClassInfo, Filter, nil);
FCount := GetPropList(AObject.ClassInfo, Filter, nil, Sorted);
FSize := FCount * SizeOf(Pointer);
GetMem(FList, FSize);
GetPropList(AObject.ClassInfo, Filter, FList);
GetPropList(AObject.ClassInfo, Filter, FList, Sorted);
end
else
begin