Accuracer: The First And Only Cross-Platform BDE Replacement
Client-Server Single-File Embedded Database with SQL for Delphi / C++Builder / Kylix
Provides the interface for a method that creates a blob stream for a Binary large object (BLOB) field in the dataset.
function CreateBlobStream(Field: TField; Mode: TBlobStreamMode): TStream; virtual;
Call CreateBlobStream to obtain a stream for reading and writing the value of the field specified by the Field parameter. The Mode parameter indicates whether the stream will be used for reading the field's value (bmRead), writing the field's value (bmWrite), or modifying the field's value (bmReadWrite).
Blob streams are created in a specific mode for a specific field on a specific record. Applications should create a new blob stream every time the record in the dataset changes rather than reusing an existing blob stream.
As implemented in TDataSet, CreateBlobStream always returns nil. Descendants of TDataSet override this method to create the TStream descendant that reads and writes BLOB data in the format that dataset type uses to store BLOB fields.
Tip: It is preferable to call CreateBlobStream rather than creating a blob stream directly in code. This ensures that the stream is appropriate to the dataset, and may also ensure that datasets which do not always store BLOB data in memory fetch the blob data before creating the stream.