Thema: Delphi Typumwandlung für Enums

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#7

AW: Typumwandlung für Enums

  Alt 4. Jun 2011, 23:13
Enums sind Ordinaltypen, die haben keine Methoden
Mann hätte einfach nur die Class/Record-Methoden auch noch für interfaces und normale Typen freigeben müssen.

Der Sinn ist wohl einfach nur, daß das "Array" der ValueNamen keine Leerstellen zuläßt und man nicht auf die Idee gekommen ist, an den entsprechenden Stellen einen DummyNamen einzufügen ... stattdessen erstellt der Compiler einfach diese info nicht.

Und weil man dann den Wert in der RTTI-Funktion nicht prüft (Delphi-Referenz durchsuchenAssigned), sondern gleich direkt versucht auf ein Feld des InfoRecords zuzugreifen, schlägt einem dann eine natürlich eine Zugriffsverletzung an Adresse $000000xx entgegen.
PS: Das ist ein Problem, welches seit unzähligen Jahren bekannt ist, aber welches dennoch nicht behoben wurde, obwohl die Variante mit den Dummywerte hätte bestimmt leicht angepaßt werden können.
$2B or not $2B

Geändert von himitsu ( 4. Jun 2011 um 23:18 Uhr)
  Mit Zitat antworten Zitat