Einzelnen Beitrag anzeigen

Benutzerbild von bytecook
bytecook

Registriert seit: 6. Aug 2010
Ort: Dornbirn
151 Beiträge
 
Delphi 11 Alexandria
 
#1

Delphi 10.4 - Probleme mit Class Operatoren

  Alt 11. Aug 2020, 20:39
Delphi-Version: 10.4 Sydney
Hi Leute,

nutze die Tage grade um meinen Source von 10.2 auf 10.4 bringen. Dabei kommt es bei der Verwendung von Graphics32 zu einem Problem mit den Class Operatoren, die ich unter 10.2 nicht hatte.
In der Unit Gr32 ist TFloatPoint wie folgt definiert:

Code:
  TFloatPoint = record
    X, Y: TFloat;
  {$IFDEF SUPPORT_ENHANCED_RECORDS}
  public
    {$IFNDEF FPC}
    {$IFDEF COMPILERXE2_UP}
    constructor Create(P: TPointF); overload;
    {$ENDIF}
    constructor Create(P: TPoint); overload;
    constructor Create(X, Y: Integer); overload;
    constructor Create(X, Y: Single); overload;
    {$ENDIF}

    // operator overloads
    class operator Equal(const Lhs, Rhs: TFloatPoint): Boolean;
    class operator NotEqual(const Lhs, Rhs: TFloatPoint): Boolean;
    class operator Add(const Lhs, Rhs: TFloatPoint): TFloatPoint;
    class operator Subtract(const Lhs, Rhs: TFloatPoint): TFloatPoint;
    {$IFDEF COMPILERXE2_UP}
    class operator Explicit(A: TPointF): TFloatPoint;
    class operator Implicit(A: TPointF): TFloatPoint;
    {$ENDIF}

    class function Zero: TFloatPoint; inline; static;
  {$ENDIF}
  end;
So sollte eigentlich der Vergleich zweier Floatpoints mittels (fp1 <> fp2) oder eine simple Addition (fp1 + fp2) wie unter <= 10.2 kein Problem darstellen, ich erhalte jedoch die Fehlermeldung <[dcc32 Fehler] E2015 Operator ist auf diesen Operandentyp nicht anwendbar>
Habe ich bei 10.4 was übersehen? Danke vorweg!
Peter
Was mache ich, wenn ein Bär meine Frau angreift?
Nichts. Er hat sie angegriffen, soll er doch selber sehen, wie er sich verteidigt.
  Mit Zitat antworten Zitat