если бы все было так просто...
в моем случае TEssense - это родительский класс для других компонентов, сортировать на этапе создания - означало бы иметь кучу вложенных циклов, не уверен, что это было бы шустро.
А ларчик просто открывался, по недогляду забыл про Result:=0;
Вот рабочий код
procedure TForm1.SortGroup;
begin
Form1.RoomsScrollBox.sort(
function(LeftItm, RightItm: TFmxObject): integer
begin
Result := 0;
if TEssence(LeftItm).SortIndex > TEssence(RightItm).SortIndex then
Result := 1
else if TEssence(LeftItm).SortIndex < TEssence(RightItm).SortIndex then
Result := -1;
end);
end;
Не забываем про BeginUpdate, EndUpdate