Einzelnen Beitrag anzeigen

Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.321 Beiträge
 
Delphi 12 Athens
 
#10

AW: record helper für Enum -> implicit funktioniert nicht.

  Alt Gestern, 13:48
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.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat