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
overloaddirective.A procedure can be declared in a class declaration, in which case it is called a method. A method can be declared with the
dynamicor ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access