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)