// We assume that when we insert, we respect the order, so we dont set Sorted=true
end;
function CompareFlxProps(Item1, Item2: Pointer): Integer;
begin
if TFlxProp(Item1).Name < TFlxProp(Item2).Name then Result:=-1 else if TFlxProp(Item1).Name > TFlxProp(Item2).Name then Result:=1 else Result:=0;
end;
procedure TFlxPropList.Sort;
begin
inherited Sort(CompareFlxProps);
Sorted:=true;
end;
function TFlxPropList.Find(const aItem:string ; var Index: integer): boolean;
Var
L, H, I, C: Integer;
begin
if not Sorted then Sort;
Result := False;
L := 0;
H := Count - 1;
while L <= H do
begin
I := (L + H) shr 1;
if UpperCase((inherited items[i] as TFlxProp).Name) < UpperCase(aItem) then C:=-1 else if UpperCase((inherited items[i] as TFlxProp).Name)>UpperCase(aItem) then C:=1 else C:=0;