Skip to main content
Version: Next

SET BLOB SIZE

SET BLOB SIZE ( blob ; size {; filler} )

ParameterTypeDescription
blobBlobBLOB field or variable
sizeIntegerNew size of the BLOB
fillerIntegerASCII code of filler character

Description

SET BLOB SIZE resizes the BLOB blob according to the value passed in size.

If you want to allocate new bytes to a BLOB and want to have those bytes initialized to a specific value, pass the value (0..255) into the filler optional parameter.

Note

Compatiblity note: Since this command alters the blob passed as a parameter, it does not support blob objects (4D.Blob type). See Passing blobs and blob objects to 4D commands on developer.4d.com.

Error Handling

If you cannot resize a BLOB due to insufficient memory, the error -108 is generated. You can trap this error using an ON ERR CALL interruption method.

Example 1

When you are through with a large process or interprocess BLOB, it is good idea to free the memory it occupies. To do so, write:

 SET BLOB SIZE(aProcessBLOB;0)
 SET BLOB SIZE(◊anInterprocessBLOB;0)

Example 2

The following example creates a BLOB of 16K filled of 0xFF:

 var vxData : Blob
 SET BLOB SIZE(vxData;16*1024;0xFF)

See also

BLOB size