Al final lo hice así:
Código PHP:
void __fastcall TForm1::ButRefrescarProcClick(TObject *Sender)
{
ListItemsProcesos->Clear();
llenarLista();
if(LastShortedColumn != -1)
{ //Aqui la funcion que ordene todo por la columna deseada
ListViewProcesos->AlphaSort();
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ListViewProcesosColumnClick(TObject *Sender,
TListColumn *Column)
{
LastShortedColumn = Column->Index;
ColumnToSort = Column->Index;
((TCustomListView *)Sender)->AlphaSort();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ListViewProcesosCompare(TObject *Sender,
TListItem *Item1, TListItem *Item2, int Data, int &Compare)
{
if (ColumnToSort == 0)
Compare = CompareText(Item1->Caption,Item2->Caption);
else if(ColumnToSort == 1)
{
Compare = Item1->SubItems->Strings[0].ToInt() - Item2->SubItems->Strings[0].ToInt();
}
else if(ColumnToSort == 2)
{
Compare = CompareText(Item1->SubItems->Strings[1], Item2->SubItems->Strings[1]);
}
else if(ColumnToSort == 3)
{
Compare = Item1->SubItems->Strings[2].ToInt() - Item2->SubItems->Strings[2].ToInt();
}
else if(ColumnToSort == 4)
{
Compare = CompareText(Item1->SubItems->Strings[3], Item2->SubItems->Strings[3]);
}
else if(ColumnToSort == 5)
{
Compare = CompareText(Item1->SubItems->Strings[4], Item2->SubItems->Strings[4]);
}
}
//---------------------------------------------------------------------------
No pude hacerlo como dices asignando la propiedad ya que me decia algo de que era ambiguo y no me dejaba ni con = ni con << pero si vi que existian tanto AlphaSort como CustomSort y la primera hace lo que quería pero intenté como dices o usando CustomSort que supongo que tendrá la ventaja de hacer un ordenamiento mas personalizado pero no fui capaz de usar ninguno de los dos.