Zitat:
wenn ...
Du kannst also deinen Enum in einen Record packen und dort das "zufällig" funktionierende Implizite nutzen (fall Emba was ändert und es bald nicht mehr funktioniert ..... sie werden sich dann auch weigern es zu reparieren und mit ihrem geliebten "works as expected" antworten, denn es ist ja dokumentiert, dass es "eigentlich" nicht funktioniert)
Ein Implizit im Record sollte ja "offiziell" funktionieren. Nur im Helper ist es zufällig.
Also folgendes ist von der Doku gedeckt.
Delphi-Quellcode:
type
TTestColor = (rot, gruen, blau);
TTestRecord = record
value: TTestColor;
class operator Implicit(a: TTestRecord): string;
end;
var
lTestRecord: TTestRecord;
lString: string;
{ TTestRecord }
class operator TTestRecord.Implicit(a: TTestRecord): string;
begin
case a.value of
rot: Result := 'rot';
gruen: Result := 'gruen';
blau: Result := 'blau';
else
Result := 'xxx';
end;
end;
begin
lTestRecord.value := gruen;
lString := lTestRecord;
WriteLn(lString);
Readln;
end.