«« Site Rescued »»

While the site is still going to move from its current host, a new site will now take its place. More Info.

The new site may have less content, but the core will now remain. And it will now play nicely with phones! Keep an eye on the DelphiDabbler Blog for news.

Stream Extension Classes

Release: 3.1.2
Date: 12 January 2014
Delphi Compatibility:
D1 D2 D3 D4 D5 D6 D7 D2005 D2006 D2007 D2009 D2010 DXE DXE2 DXE3 DXE4
Red LED Red LED Red LED Green LED Green LED Green LED Green LED Green LED Green LED Green LED Green LED Green LED Green LED Green LED Green LED Green LED


This library provides some classes that can be used to extend the functionality of Delphi's TStream classes.

The classes provided are:

  • A TStream derived class which can wrap another TStream. This is useful as a base class for filters to wrap round existing stream classes.
  • A set of classes that wrap existing streams and provide an IStream interface to them – like Delphi's previously undocumented TStreamAdapter class. Also included is a class that provides a IStream interface to any file or any handle stream.

Unit tests are provided for the classes. You need to have DUnit installed in order to run these tests.

Demo programs that show how to use all the classes are provided in the download.


The classes are compatible with the following:

  • The Delphi 4 and later Win 32 compilers.
  • The Delphi XE2 and later Win 64 compilers.
  • Unicode compilers.
  • The VCL and FireMonkey platforms (for Windows only).


The classes are documented online.

Feedback & Queries

If you find any bugs or want to suggest a new feature please report them using the Issue Tracker.

Click the Create Ticket button to create a ticket then complete the form giving as much information as possible. Please note: this issue tracker is shared among all the projects in the DelphiDabbler Code Library, so please make sure you enter streams in the Project edit box. You should also choose Defect in the Type drop down list to report a bug or Enhancement to request a new feature.

If you have created a bug fix or have implemented a new feature please attach a zip file to your ticket that contains your source code.

Should you have any queries about using the components please read the documentation.

If you can't find an answer in the documentation then post a message in the discussion group.

Please do not email me or use the contact page to report bugs, ask for new features or to find out how to use the classes.
I'm afraid I have very limited time available to support the code library, and can't guarantee I'll find time for personalised advice.