Hi!
Mein TComponentList.Sort (SortElement) wird niemals fertig. Kann mir jemand sagen, warum?
Delphi-Quellcode:
...
TLayout
private
FCompareListItems:TListSortCompare;
published
Objects: TComponentList;
public
...
function InternalSortLayout(Item1, Item2: Pointer): Integer;
begin
Result := -1;
if TLayoutElement(Item1).Top < TLayoutElement(Item2).Top then Result := -1;
if TLayoutElement(Item1).Top > TLayoutElement(Item2).Top then Result := 1;
if TLayoutElement(Item1).Top = TLayoutElement(Item2).Top then begin
if length(TLayoutElement(Item1).Text) < Length(TLayoutElement(Item2).Text) then begin
Result := -1;
end else begin
Result := 1;
end;
end;
end;
constructor TLayout.Create(_Owner: TComponent = NIL);
begin
inherited Create(_Owner);
Objects := TComponentList.Create(True);
FCompareListItems := InternalSortLayout;
...
end;
procedure TLayout.SortElement;
begin
if Objects.Count > 1 then begin
Objects.Sort(FCompareListItems);
end;
end;
Danke im Vorraus.