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.

TPJFileIStream class

Project: Stream Extension Classes

Unit: PJIStreams

Applies to: ~>3.0


TPJFileIStream provides an IStream interface to a file. It’s constructor is like that of TFileStream except that the constructor returns an object of type TPJFileIStream which can be cast to IStream.

The Stat method of TPJFileIStream, like that of TPJHandleIStreamWrapper, provides file date / time stamp information. Additionally, the pwcsName element of the TStatStg structure returns the name of the open file rather than a name based on the class name.


Method Description
Clone Method of IStream. Creates a new IStream object that accesses the same physical stream. Not supported in this implementation.
Commit Method of IStream. Commits pending changes.
CopyTo Method of IStream. Copies data from the file stream into another stream.
Create Object constructor. Creates a stream onto a given file that supports the IStream interface.
LockRegion Method of IStream. Restricts access to a specified range of bytes in the file stream. Not supported in this implementation.
Read Method of IStream. Reads data from the file stream.
Revert Method of IStream. Discards un-committed changes in a transacted stream.
Seek Method of IStream. Changes the seek pointer to a new location.
SetSize Method of IStream. Changes the size of the file stream.
Stat Method of IStream. Retrieves the TStatStg structure that provides information about the file associated with the stream.
UnlockRegion Method of IStream. Removes access restrictions from a range of bytes in the stream. Not supported in this implementation.
Write Method of IStream. Writes data to the file stream.

Method visibility

[~>3.0.0] The methods of IStream have protected visibility in TPJFileIStream and cannot be accessed from an object instance referenced by a variable of type TPJFileIStream. The methods can only be accessed via the object’s IStream interface.

[~>3.1] Methods of IStream have public visibility.


TPJFileIStream exposes no properties.


TPJFileIStream exposes no events.