::    Identification




S'inscrire
Mot de passe perdu

Tri sur une TList

Tri sur une TList
Bonjour,

J'aimerais trier une TList en utilisant la fonction Sort. Mon code est le suivant :

function CompareInactiveWorkers(ASquare1, ASquare2 : Pointer) : integer;
begin
Result := TSquare(ASquare2).FUnemployment - TSquare(ASquare1).FUnemployment;
end;

Squares := TList.Create;
Squares.Add(TSquare.Create);
Squares.Sort(@CompareInactiveWorkers);

J'obtiens une erreur de compilation :
Error: Incompatible type for arg no. 1: Got "<address of function(TAbstractSquare,TAbstractSquare):LongInt;Register>", expected "<procedure variable type of function(Pointer,Pointer):LongInt;Register>"
 
Re: Tri sur une TList
Excellent, on se croirait dans les cryptes d'un lieu jadis flamboyant mais que nul ne saurait dater. Ici un post jeté par le mal du désespoir et qui a évidemment sombré dans l'oubli en attente d'un vain écho.

Y A KELKUN KUN UN Un un n .... ???
 
Re: Tri sur une TList
Pour des objets je crois qu'il y a des TListObject ou TObjectList.
Ces listes permettent de ne pas utiliser de pointeur tout en détruisant les objets ajoutés.
Sinon pour le sort je pense que vous devez créer un événement de comparaison.
 
Re: Tri sur une TList
La plupart des sources de LAZARUS permettent la compatiblité DELPHI. Vous pouvez donc taper LAZARUS ou DELPHI dans votre recherche d'astuces.
 
Retour