The @ Operator The @ operator returns the address of a variable, or of a function, procedure, or method; that is, @ constructs a
pointer to its operand. For more information about pointers, see Pointers and pointer types. The following rules apply
to @.
If
X
is a variable,
@X
returns the address of
X
. (Special rules apply when
X
is a procedural variable; see Procedural
types in statements and expressions.) The type of
@X
is Pointer if the default
{$T}
compiler directive is in effect.
In the
{$T+}
state,
@X
is of type
^T
, where
T
is the type of
X
(this distinction is important for assignment
compatibility, see Assignment-compatibility).
If
F
is a routine (a function or procedure),
@F
returns
F
's entry point. The type of
@F
is always Pointer.
When @ is applied to a method defined in a class, the method identifier must be qualified with the class name.
For example,
@TMyClass.DoSomething
points to the
DoSomething
method of
TMyClass
. For more information about classes and methods, see Classes
and objects.
53