here's an example...
SuperStrict Local guy1:MyType=New MyType guy1.Name="Bob" guy1.age=50 Local guy2:MyType=New MyType guy2.Name="Billy" guy2.age=2 Local guy3:MyType=New MyType guy3.Name="Joe" guy3.age=80 ListAddLast MyType.list,guy1 ListAddLast MyType.list,guy2 ListAddLast MyType.list,guy3 Print "List before being sorted:" Print "" For Local guy:MyType=EachIn MyType.list Print guy.Name+" is "+guy.age+" year(s) old" Next MyType.Sort() Print "" Print "List before after being sorted:" Print "" For Local guy:MyType=EachIn MyType.list Print guy.Name+" is "+guy.age+" year(s) old" Next Type MyType Global list:TList=CreateList() Field Name:String Field Age:Byte Function Sort() SortList(list,True,CompareAge) End Function Function CompareAge:Int(o1:Object,o2:Object) If MyType(o1).age>MyType(o2).age Return 1 Return 0 End Function End Type