Welcome to the new DelphiDabbler Code Library Documentation.

This is a new site that's currently running on alpha code. There are going to be bugs. If you discover any, please report them on the site's issues page (GitHub account required). Thanks.

Warning: Many URLs are going to change. Refer to the README file to discover which library project's documentation has been completed.

Stream Extension Classes Programmers’ Guide

Applies to: ~>3.0


This section of the Stream Extension Classes documentation describes the API exposed by the classes to programmers.



The project consists of two units:

Unit Description
PJStreamWrapper Provides the core base class for all other classes that “wrap” a TStream instance to provide a filter or to add functionality.
PJIStreams Contains stream wrapper classes that provide various implementations of the IStream interface.


The following classes are provided by the library:

Class Unit Description
TPJStreamWrapper PJStreamWrapper This is a base class for descendant classes that “wrap” a TStream class to filter the data or add functionality. The wrapped TStream is used to perform the required reads, writes and seeks. TStreamWrapper simply replicates the facilities in the wrapped stream - it is for descendant classes to add functionality.
TPJIStreamWrapper PJIStreams Implements the IStream interface for a wrapped TStream object.
TPJHandleIStreamWrapper PJIStreams Implements an IStream interface for a wrapped THandleStream object. Acts in a similar way to TPJIStreamWrapper except that file date stamps can be access.
TPJFileIStream PJIStreams Implements an IStream interface on a file stream.


This documentation complies with these conventions.