Thema: Enum gesetzt?

Einzelnen Beitrag anzeigen

mc-bain

Registriert seit: 11. Jan 2010
14 Beiträge
 
#1

Enum gesetzt?

  Alt 7. Dez 2011, 14:24
Hallo,
ich habe ne recht triviale Frage. Kann man in Delphi überprüfen, ob ein Enum gesetzt wurde?
Ich habe folgenden Enum:
Code:
Status = (aktiv,inaktiv)
Und folgende Klasse:
Code:
TMyClass = class(Tobject)
  private
    FStatus: Status;
  published
    Status: Status read FStatus write FStatus
end;
Wenn ich mir nun über folgenden Code den Status als String anzeigen lassen möchte zeigt er mir immer "aktiv" an, obwohl ich den Wert händisch nicht gesetzt habe:

Code:
...
var: myClass: TMyClass;
begin
  myClass = TMyClass.Create;
  ShowMessage(GetEnumName(TypeInfo(Status),Integer(myClass.Status)));

  myClass.Free;

end;
Kann mir diesbezüglich jemand weiterhelfen? Oder muss ich quasi immer einen DefaultWert als Enum-Option mit aufnehmen?

Vielen Dank.
mc
  Mit Zitat antworten Zitat