Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   TObjectList.Sort duda (https://www.clubdelphi.com/foros/showthread.php?t=8408)

Lepe 21-03-2004 15:43:50

TObjectList.Sort duda
 
Para el TObjectList, en la ayuda de delphi dice en el ejemplo del método Sort:
Cita:

Sort Example

The following code sorts the objects in a list in alphabetical order based on their names. It assumes that the list contains only component references.
The CompareNames function performs the comparisons between objects in the list. The list is sorted when the user clicks a button.
Código:

function CompareNames(Item1, Item2: Pointer): Integer;
begin
  Result := CompareText((Item1 as TComponent).Name, (Item2 as TComponent).Name);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
  List1.Sort(@CompareText);
end;


Lo que está en rojo no debería ser "CompareNames" ¿?

Tal y como está no entiendo lo que hace, sin embargo, si fuese la direccion de la funcion CompareNames, si lo vería lógico.

Gracias Majo :)

Lepe 21-03-2004 20:19:32

Despues de hacer varias pruebas y eliminar ciertos erores que no sabia a que santo venian....

Yo tenia razon. Juas he encontrado un bug en delphi :p :D

una cosita un tanto rara.... es que la funcion CompareNames, no puede ser un método de una clase. La puse solita en una unidad aparte, y así si me permitía compilar. Funciona de lujo.


PD: De nada Majo :p

marto 21-03-2004 21:17:08

Cita:

Empezado por Lepe
una cosita un tanto rara.... es que la funcion CompareNames, no puede ser un método de una clase. La puse solita en una unidad aparte, y así si me permitía compilar. Funciona de lujo.

Pues a mi me parece lógico. Si declaras la función como un método... como se accede a su direcció? a la de qué instancia? y si no hay ninguna?

roman 21-03-2004 21:43:35

Nada más aclarar que esto no es un bug de Delphi sino tan sólo un error en la documentación... y de éstos hay muchos.

// Saludos


La franja horaria es GMT +2. Ahora son las 20:12:42.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi