Einzelnen Beitrag anzeigen

BigAl

Registriert seit: 6. Sep 2008
Ort: Kehl
495 Beiträge
 
Delphi 12 Athens
 
#1

F2084 beim kompilieren in Win32

  Alt 30. Mai 2023, 21:39
Hallo zusammen,

gestern hat mich ein interner Fehler ("[dcc32 Fatal Error] (...): F2084 Internal Error: C2210") ziemlich viele Nerven gekostet. Ich habe da jetzt einen Workaround, würde den Fehler aber trotzdem gerne melden. Dazu habe ich die recht umfangreiche Unit weit möglichst reduziert bzw. versucht den Fehler nachzustellen. Hier mal der Quellcode:
Delphi-Quellcode:
unit Unit1;

interface

type
  TClass1<T> = class
    FValue: T;
    procedure SetValue(const AValue: T);
  end;

  TClass2 = class(TClass1<Double>) // or <Extended> (e.g. <Single> works)
  end;

implementation

procedure TClass1<T>.SetValue(const AValue: T);
begin
  if AValue <> FValue then // <-- Here I get "[dcc32 Fatal Error] Unit1.pas(23): F2084 Internal Error: C2210"
    FValue := AValue;
end;

end.
Kann mal jemand testen ob es bei ihm auch einen Fehler gibt? Könnte ja immer noch an meinem System (oder an mir) liegen. Vielleicht übersehe ich ja was.

Der Fehler tritt nur bei Win32 auf (Win64 kompiliert). Natürlich macht der Code keinen Sinn und dient nur der Nachstellung des Fehlers.

Ach ja: Mein Workaraund nutzt jetzt halt einen IComparer<T> . Dann funktioniert es...

EDIT: Hab es noch weiter gekürzt.
Man sollte nie so viel zu tun haben, dass man zum Nachdenken keine Zeit mehr hat. (G.C. Lichtenberg)

Geändert von BigAl (30. Mai 2023 um 21:44 Uhr)
  Mit Zitat antworten Zitat