Resource File Unit
| Release: | 1.0.1 | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Date: | 18 March 2010 | ||||||||||||||||||||||||||||
|
Delphi Compatibility:
|
|
- Overview
- Download
- Install Info
- Change Log
- License
Overview
This unit contains classes that encapsulate Windows 32 bit binary resource files and the resources contained in them. The main functionality is provided by two classes:
-
TPJResourceFile
Encapsulates the contents of a whole resource file and provides methods and properties for reading, finding, editing, adding and deleting resources. Resource files can be read from and written to files or streams. -
TPJResourceEntry
Encapsulates a single resource within the file and provides properties to access its header record and its raw data. The class also provided methods to check the identity of the resource. The resource's raw data is made available as a TStream and so is easily read and written using familiar TStream methods.This class has no knowledge of resource data formats and sees the data simply as a raw sequence of bytes. It is for the user of the class to interpret the data correctly.
In addition to the two main classes, some helper functions are also provided that assist in working with resource identifiers.
An exception class – EPJResourceFile – is also defined. Exceptions of this class are raised by both the main classes when errors are encountered.
Some constants are defined for use with the memory flags field of resource header records. The RT_HTML and RT_MANIFEST resource types are also defined since they are not defined by Delphi.
Documentation
A detailed description of the classes, along with example code for the key
methods, is provided in the
User Guide.
The unit is also documented online in the Resource File Unit Wiki.
Bugs & Feature Requests
Please report any bugs you find using the Issue Tracker Please state that you are reporting a bug in the Resource File
Unit since the issue tracker is shared between different library
components and classes. Do this by changing the
Project-unspecified label to Project-resfile.
You can request new features using the same Issue Tracker that is used to report bugs. When creating a new feature request make
sure you change the Template from Defect Report from
User to Feature Request and select the
Type-Enhancement and Project-unspecified labels.



