Name
Procedure Keyword
Syntax
procedureName
; procedureName
(Parameters
...); typeName
= procedure(Parameters
...); typeName
= procedure(Parameters
...) of object;
Description
The procedure
keyword declares a subroutine that
does not have a return type. You can also declare a procedural
type.
In the interface section of a unit, only the procedure header (its name, parameters, and directives, but not the body) can appear.
In the implementation section, you must provide a complete definition
for every procedure declared in the interface section. (See the
external
directive to learn how to define a
procedure without providing a body.) You can omit the parameters in
the implementation section if the procedure is not overloaded. If you
provide the parameters, they must match exactly (including the
parameter names) with the procedure header in the interface
section.
A procedure’s implementation should not repeat the directives that appeared first with the procedure header.
Tips and Tricks
Although it seems like an additional maintenance burden to keep a copy of the header in the procedure’s implementation, it is a great benefit to the person who maintains the code. It is inconvenient to have to jump to the procedure’s declaration just to learn about its parameters.
You can declare multiple procedures with the same name by using the
overload
directive.A procedure can be declared in a class declaration, in which case it is called a method. A method can be declared with the
dynamic
or ...
Get Delphi in a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.