bStr.length) return 1 ; else if ( aStr.length == bStr.length) return 0 ; else return -1 ; } public function myCompare(val1:int,val2:int,fields:Array=null):int { if(val1>val2) return 6; else if(val1==val2) return 4; else return 2; } public function noParameterCompare():int { return 2; } public function wrongReturnTypeCompare(val1:*,val2:*):String { return "result"; } public function trySet(obj:*,pptName:String,val:*,mode:String):void { try{ obj[pptName]=val; }catch(e:Error){ if(mode=='spark') err=e.toString(); else errMX=e.toString(); } } public function initSF(sf:spark.collections.SortField,item:*):void { sf.initializeDefaultCompareFunction(item); } public function doit(mySort:Sort):void { dataComp.myMXNameAgeStrArr.sort=mySort; dataComp.myMXNameAgeStrArr.refresh(); Alert.show(SFConstant.getArrayOfField('name',dataComp.myMXNameAgeStrArr).toString()); } ]]>