![]() |
Erweitertes Record mit lokalem Type
Hallo Community,
ich nutze Delphi-2007 (als Win32) und habe einen (vermeintlichen) Delphi-Bug bei Erweiterten Records festgestellt: Folgender Code lässt sich compilieren ...
Delphi-Quellcode:
Wenn man aber TMyRecordType lokal deklarieren möchte, ...
type
TMyRecordType = ( MyRT_None, MyRT_OK ); TMyRecord=record Typ:TMyRecordType; end;
Delphi-Quellcode:
... erhalte ich einen Compilerfehler "E2003 Undefinierter Bezeichner: 'TMyRecordType'"
TMyRecord=record
type TMyRecordType = ( MyRT_None, MyRT_OK ); var Typ:TMyRecordType; end; Wenn man aber auf die "schlaue" Idee kommt und den Typ als case definiert ...
Delphi-Quellcode:
... dann kann ich es fehlerfrei compilieren!
TMyRecord=record
type TMyRecordType = ( MyRT_None, MyRT_OK ); case Typ:TMyRecordType of MyRT_None:(); end; Fragen: 1. Wo liegt bei dem mittleren Beispiel der Fehler (bei mir oder beim Compiler)? 2. Kann das bitte jemand mit Delphi-2009 (als Win32) compilieren und mitteilen, ob es das geht? Gruß Ma2xx |
Re: Erweitertes Record mit lokalem Type
kann sein, daß es in D2007 in Records noch nicht geht.
im D2006 geht es übrigens auch nicht aber im D2009 funktioniert es so. und in Klassen geht es mindestens seit D2006 überall. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz