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

# TMemoryStream.Init

Initialize memory stream, reserves memory for stream data.

## Declaration

Source position: objects.pp line 380

`constructor TMemoryStream.Init(`
`ALimit: LongInt;`
`ABlockSize: Word`
`);`

## Description

Init instantiates a new TMemoryStream object. The memorystreamobject will initially allocate at least ALimit bytes memory, divided into memory blocks of size ABlockSize. The number of blocks needed to get to ALimit bytes is rounded up.

By default, the number of blocks is 1, and the size of a block is 8192. This is selected if you specify 0 as the blocksize.

For an example, see e.g TStream.CopyFrom.

## Errors

If the stream cannot allocate the initial memory needed for the memory blocks, then the stream's status is set to stInitError.

## See also

TMemoryStream.Done |  | Clean up memory and destroy the object instance.