Einzelnen Beitrag anzeigen

Perlsau
(Gast)

n/a Beiträge
 
#28

AW: Sortierte TObjectList - Einträge richtig einfügen

  Alt 21. Sep 2015, 12:08
Moin allerseits, habe den Quellcode aus #9 in meinen zu integrieren versucht. Bei mir sieht das dann so aus:
Delphi-Quellcode:
UNIT ServerLogFiles;

INTERFACE

USES
  Windows, Classes, Messages, SysUtils, StrUtils, Generics.Collections, Generics.Defaults, Variants,
  LogFiles; // Klasse TLogFiles

TYPE
  TFileListe = CLASS(Generics.Collections.TObjectList<TLogFiles>)
    PRIVATE
      Function Compare(Item1, Item2 : TLogFiles): Integer;
    PUBLIC
      Constructor Create(OwnsObjects : Boolean = true);
  END;

TYPE
  TServerLogFiles = CLASS

  PRIVATE { Private-Deklarationen }

      FileList : TFileListe;
      ...
  END;

IMPLEMENTATION

{ TFileListe }

Function TFileListe.Compare(Item1, Item2 : TLogFiles): Integer;
begin
  Result := TComparer<String>.Default.Compare(Item1.FileName, Item2.FileName);
end;

Constructor TFileListe.Create(OwnsObjects: Boolean);
begin
 inherited Create(TComparer<TLogFiles>.Construct(Compare), OwnsObjects); // Fehler
end;

{ TSERVERLOGFILES }

...

end.
Beim Compilieren erhalte ich im Constuctor von TFileListe diesen Fehler bei (Compare):
ServerLogFiles.pas(96): E2010 Inkompatible Typen: 'TComparison<LogFiles.TLogFiles>' und 'Procedure of object'

Was mache ich da falsch?
  Mit Zitat antworten Zitat