[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] | Reference for unit 'Classes' (#rtl)

# TStreamAdapter

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements IStream for TStream descendants

## Declaration

Source position: classesh.inc line 1160

`type TStreamAdapter = class(TInterfacedObject, IStream)`
`public`
`constructor Create();` |  | Create a new instance of TStreamAdapter
`destructor Destroy; override;` |  | Free the TStreamAdapter instance
`function Read(); virtual;` |  | Read from the stream.
`function Write(); virtual;` |  | Write to the stream
`function Seek(); virtual;` |  | Set the stream position
`function SetSize(); virtual;` |  | Set the stream size
`function CopyTo(); virtual;` |  | Copy data to destination stream
`function Commit(); virtual;` |  | Commit data to the stream
`function Revert; virtual;` |  | Revert operations on the stream
`function LockRegion(); virtual;` |  | Lock a region of the stream
`function UnlockRegion(); virtual;` |  | Unlock a region of the stream
`function Stat(); virtual;` |  | Return statistical data about the stream
`function Clone(); virtual;` |  | Clone the stream
`property Stream: TStream; [r]` |  | Stream on which adaptor works
`property StreamOwnership: TStreamOwnership; [rw]` |  | Determines what happens with the stream when the adaptor is freed
`end;`

## Inheritance

`TStreamAdapter,IStream` |  | Implements IStream for TStream descendants
`TInterfacedObject,IUnknown` |  | TObject descendent implementing the IUnknown interface
`TObject` |  | Base class of all classes.