Datentypen, Variablen und Konstanten - Index (Delphi)
Nach oben zu Datentypen, Variablen und Konstanten - Index
Dieses Thema enthält eine Beschreibung der Deklarationssyntax für Typen in Delphi.
Syntax für Typdeklarationen
Bei einer Typdeklaration wird ein Bezeichner angegeben, der einen Typ festlegt. Die Syntax für eine Typdeklaration lautet:
type newTypeName = type
Hierbei ist neuerTyp ein gültiger Bezeichner. Nach der Typdeklaration:
type TMyString = string;
ist beispielsweise die folgende Variablendeklaration möglich:
var S: TMyString;
Die Typdeklaration selbst liegt nicht im Gültigkeitsbereich des Typbezeichners (dies gilt allerdings nicht für Zeigertypen). Aus diesem Grund kann beispielsweise ein Record-Typ definiert werden, der sich selbst rekursiv verwendet.
Wenn Sie einen Typ deklarieren, der mit einem vorhandenen Typ identisch ist, behandelt der Compiler den neuen Typbezeichner als Alias für den alten. In den Deklarationen
type TValue = Real; var X: Real; Y: TValue;
haben X
und Y
denselben Typ. Zur Laufzeit ist keine Unterscheidung zwischen TValue
und Real möglich (was normalerweise auch nicht nötig ist). Wenn der neue Typ aber Laufzeit-Typinformationen bereitstellen soll (z. B. zur Bearbeitung von Eigenschaften eines bestimmten Typs in einem Eigenschaftseditor), muss eine Unterscheidung zwischen den Typen möglich sein. Verwenden Sie in solchen Fällen die folgende Syntax:
type newTypeName = type KnownType
Beispiel:
type TValue = type Real;
Durch diese Anweisung wird der Compiler veranlasst, einen neuen, eigenen Typ namens TValue
zu erzeugen.
Bei var
-Parametern müssen formale und aktuelle Typen identisch sein. Beispiel:
type TMyType = type Integer; procedure p(var t:TMyType); begin end;
procedure x; var m: TMyType; i: Integer; begin p(m); // Works p(i); // Error! Types of formal and actual must be identical. end;
Hinweis: Dies gilt nur für
var
-Parameter, nicht fürconst
oder Wert-Parameter.