Name

Procedure Keyword

Syntax

procedure Name;
procedure Name(Parameters...);

type Name = procedure(Parameters...);
type Name = 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.