$Resource Compiler Directive
{$RFileName
} {$ResourceFileName
} {$R 'Filename
.res' 'FileName
.rc'} {$Resource 'FileName
.res' 'FileName
.rc'}
The
$Resource
directive includes an external
resource file in a project or package. When the project or package is
linked, Delphi includes the resource file in the final
.exe, .dll, or
.bpl file. The resource file does not have to
exist when the unit is compiled—only when the project is
linked. A source file can load any number of resource files.
If the FileName
is an asterisk
(*
), Delphi uses the source file’s base
name, substituting the extension that appears in the directive. For
example, form units must include the directive {$R
*.DFM}
, which loads the form’s description
as a resource file. (To maintain compatibility with Delphi 1, binary
.dfm files are 16-bit resource files. Delphi
converts them to 32-bit resources when linking the project.)
The two-parameter form of the
$Resource
directive applies only to
.dpr files. If the directive appears at the
start of a project’s .dpr file and it
lists two filenames, the first file is linked into the project, and
the second appears in the project manager. When Delphi’s IDE
builds the project, it also compiles the resource script
(.rc file) into a .res file
so it can link the .res file with the project.
Compiling the resource script is a feature unique to the IDE. The
command-line compiler does not compile the resource script. (For more
information on the command-line compiler, see Appendix A.)
Put the filenames in single quotes if the name includes spaces or other unusual characters, or if you are using the two-filename version of this directive.