This is the legacy 4D documentation web site. Documentations are progressively being moved to developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20.6
SET BLOB SIZE
|
SET BLOB SIZE ( blob ; size {; filler} ) | ||||||||
Parameter | Type | Description | ||||||
blob | BLOB |
![]() |
BLOB field or variable | |||||
size | Longint |
![]() |
New size of the BLOB | |||||
filler | Longint |
![]() |
ASCII code of filler character | |||||
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.
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.
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.
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)
The following example creates a BLOB of 16K filled of 0xFF:
C_BLOB(vxData)
SET BLOB SIZE(vxData;16*1024;0xFF)
Product: 4D
Theme: BLOB
Number:
606
Created: 4D v6
Filler, Size
4D Language Reference ( 4D v20)
4D Language Reference ( 4D v20.1)
4D Language Reference ( 4D v20.2)
4D Language Reference ( 4D v20.3)
4D Language Reference ( 4D v20.4)
4D Language Reference ( 4D v20.5)
4D Language Reference ( 4D v20.6)