Thema: Delphi IComparable in XE7

Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

IComparable in XE7

  Alt 27. Okt 2014, 13:08
Delphi-Version: XE5
Hallo,

Ich weiß nicht ob ich gerade auf dem Schlauch stehe oder ob da in Delphi irgendwas kaputt ist.

Folgender Code von mir:

Delphi-Quellcode:
type
  TKlasse = class(TInterfacedObject, System.IComparable<TForm>)
  public
    function CompareTo(Value: TForm): Integer;
  end;


function TKlasse.CompareTo(Value: TForm): Integer;
begin
  Result := 0; // Was auch immer..
end;
Delphi bringt mir nun die Meldung:

[dcc32 Fehler] Unit1.pas(18): E2291 Implementierung der Interface-Methode IComparable.CompareTo fehlt
Warum denn das?
IComparable<T> ist so definiert:

Delphi-Quellcode:
IComparable<T> = interface(IComparable)
  function CompareTo(Value: T): Integer;
end;
Ist Delphi blöd oder steh ich grad aufm Schlauch?

Edit: Habs. IComparable (nicht generisch) hat natürlich auch eine CompareTo-Methode und die muss ich dann noch zusätzlich implementieren:

Delphi-Quellcode:
type
  TKlasse = class(TInterfacedObject, System.IComparable<TForm>)
  public
    function CompareTo(Obj: TObject): Integer; overload;
    function CompareTo(Value: TForm): Integer; overload;
  end;
Das war früher aber nicht.. Ist das so gewollt? Weil das ist doch irgendwie bescheuert -.-
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."

Geändert von Neutral General (27. Okt 2014 um 13:10 Uhr)
  Mit Zitat antworten Zitat