Wo ist das Problem? Das ist doch dir überlassen, wie du deine Items sortierst. Ich würde einfach False < True verwenden, da False als 0 und True als 1 deklariert ist, und 0 < 1 ist.
Delphi-Quellcode:
if TMyItem(Item1).MyBool = TMyItem(Item2).MyBool then
Result := 0
else if TMyItem(Item1).MyBool and not TMyItem(Item2).MyBool then
Result := 1
else{ if not TMyItem(Item1).MyBool and TMyItem(Item2).MyBool then}
Result := -1
Ich weiß jetzt nicht, ob 1 und -1 stimmt, vielleicht muss es auch andersrum sein, um meiner oben genannten Sortierlogik zu entsprechen - ich verwechsel immer, wofür positiv und negativ beim Sortieren steht.