Types de données, variables et constantes - Index (Delphi)
Remonter à Types de données, variables et constantes - Index
Cette rubrique décrit la syntaxe des déclarations de types Delphi.
Syntaxe de déclaration des types
Une déclaration de type spécifie un identificateur désignant un type. La syntaxe d'une déclaration de type est :
type newTypeName = type
où newTypeName est un identificateur valide. Par exemple, étant donné la déclaration de type suivante :
type TMyString = string;
vous pouvez faire la déclaration de variable suivante :
var S: TMyString;
La portée d'un identificateur de type n'inclut pas la déclaration de type même (sauf pour les types pointeur). Il n'est donc pas possible de définir, par exemple, un type enregistrement qui s'utilise lui-même de manière récursive.
Quand vous déclarez un type identique à un type existant, le compilateur traite le nouvel identificateur de type comme un alias de l'ancien. Ainsi, étant donné les déclarations suivantes :
type TValue = Real; var X: Real; Y: TValue;
X
et Y
sont du même type ; à l'exécution, il n'est pas possible de distinguer TValue
de Real. Généralement, cela ne pose pas problème, mais si vous définissez un nouveau type pour utiliser des informations de type à l'exécution (par exemple, pour associer un éditeur de propriété aux propriétés d'un type donné), la distinction entre "nom différent" et "type différent" devient importante. Dans un tel cas, utilisez la syntaxe :
type newTypeName = type KnownType
Par exemple,
type TValue = type Real;
oblige le compilateur à créer un nouveau type distinct appelé TValue
.
Les types des paramètres var
originaux et formels doivent être identiques. Par exemple,
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;
Remarque : Cela s'applique aux paramètres
var
, et non aux paramètresconst
ou par valeur.