Stream Extension Classes
ReadMe

Description

This class library contains two units that provide some classes that can be used to extend the functionality of Delphi's TStream classes.

The PJStreamWrapper unit provides a class that can wrap any TStream descendant while the PJIStreams unit provides classes that implement the IStream interface for various TStream descendants.

Demo Projects

Three demo projects are provided in the download:

  1. IStreamWrap.dpr in the IStreamWrapDemo sub-directory. This is a VCL project that demonstrates the IStream wrapper classes in the PJIStreams unit.
  2. IStreamWrapFMX.dpr in the IStreamWrapDemoFMX sub-directory. This is a FireMonkey 2 project that demonstrates the IStream wrapper classes in the PJIStreams unit. It is similar, but not identical, to IStreamWrap.dpr.
  3. StreamWrap.dpr in the StreamWrapDemo sub-directory. This is a VCL project that demonstrates the PJStreamWrapper unit.

All the test projects are stored in the Demos directory.

Unit Tests

Unit tests are provided for all classes in the Tests directory.

Tests require the DUnit unit testing framework, which must be installed in a location accessible to your Delphi compiler.

Compatibility

The classes are compatible with the following:

Installation

The Stream Extension Classes units are provided in a zip file. Once the units are extracted you can use them as required. There are several ways you may wish to do this:

The demo files are stored in the Demos sub-folder and the DUnit tests are in the Tests sub-folder.

Documentation

The classes are all documented online.

Update History

A complete change log is provided in ChangeLog.txt that is included in the download.

License

The Stream Extension Classes are released under the terms of the Mozilla Public License, v2.0.

Bugs and Feature Requests

Bugs can be reported or new features requested via the Issue Tracker.

If no similar report or request has been recorded already, use the New Issue link to add a new issue. Please select the most appropriate template from the Templates drop down list. You should also specify the Project-streams label.

About the Author

I'm Peter Johnson – a hobbyist programmer living in Ceredigion in West Wales, UK, writing write mainly in Delphi. My programs and code are available from: http://www.delphidabbler.com/.

I can be contacted via the website.

Please let me know if you have any comments about the classes, but please use the Issue Tracker above to report bugs and request new features.