Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi RTTI und Enum mit Werten, Bug oder Feature? (https://www.delphipraxis.net/182099-rtti-und-enum-mit-werten-bug-oder-feature.html)

Rainer Wolff 30. Sep 2014 10:41

Delphi-Version: XE

RTTI und Enum mit Werten, Bug oder Feature?
 
Hallo,

ich bin grad über folgendes Phänomen gestolpert: Wenn ich einen Enum definiere und mittels RTTI meine Klasse auslese, funzt alles ganz normal (Code unten). Wenn ich den Enum-Elementen jetzt aber Werte zuweise:
Code:
 tenum1 = (fRot=3, fBlau=10);
werden sie in der Schleife nicht mehr aufgelistet.
Isses ein Bug oder kennt jemand dafür nen Grund?

Gruß Rainer

Code:
  tenum1 = (fRot, fBlau);

  tmyclass = class(TPersistent)
  private
    Fs1: tenum1;
  public
    property s1:tenum1 read Fs1 write Fs1;
  end;

procedure TForm8.FormCreate(Sender: TObject);
var
  context: TRttiContext;
  aType: TRttiType;
  aProperty: TRttiProperty;
  attrib: TCustomAttribute;
begin
  aType:=context.GetType(tmyclass);
  for aProperty in aType.GetProperties do
  begin
    Caption:=caption+aProperty.Name;
  end;

DeddyH 30. Sep 2014 10:48

AW: RTTI und Enum mit Werten, Bug oder Feature?
 
Auf die Schnelle gefunden: http://www.delphipraxis.net/149875-t...uer-enums.html

himitsu 30. Sep 2014 10:52

AW: RTTI und Enum mit Werten, Bug oder Feature?
 
Sobald auch nur ein Wert explizit definiert wurde
Delphi-Quellcode:
=irgendas
, gibt es in der RTTI keine Namensliste der Werte mehr.

Der "Bug" ist seit Jahrzehnten bekannt, mein Bugfix-Vorschlag wurde abgewiesen ... das ist halt so.

[edit] Ein F5 bitte, her Ober.

Thomas_K 30. Sep 2014 11:31

AW: RTTI und Enum mit Werten, Bug oder Feature?
 
Vieleicht hilft dir dieser Blog Artikel weiter http://softwareonastring.com/2014/08...coding-freedom.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:12 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz