E2278 Impossible d'obtenir l'adresse du symbole local %s (Delphi)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Messages d'erreur et d'avertissement (Delphi)

Ce message apparaît lorsque vous essayez d'appeler un symbole depuis une procédure ou une fonction ayant été balisée avec la directive local.

La directive local, qui marque les routines comme indisponibles pour l'exportation, est spécifique à la plate-forme et n'a pas d'effet en programmation Windows.

Sous Linux, la directive local est utilisée pour des routines qui sont compilées dans une bibliothèque mais qui ne sont pas exportées. Cette directive peut être spécifiée pour des procédures et des fonctions autonomes, mais pas pour les méthodes. Une routine déclarée avec local, par exemple,


function Contraband(I: Integer): Integer; local;

n'assure pas le rafraîchissement du registre EBX et, de ce fait,

  • ne peut pas être exportée depuis une bibliothèque.
  • ne peut pas être déclarée dans la section interface d'une unité.
  • ne peut avoir son adresse prise ni assignée à une variable de type procédural.
  • s'il s'agit d'une routine en pur assembleur, ne peut pas être appelée depuis une autre unité, sauf si l'appelant définit le registre EBX.