Subject Re: [IBO] Problems in TIB_BlobStream with the last Beta
Author Daniel Rail

At Monday, July 20, 2009, 7:20 AM, m. Th. wrote:

> m. Th. wrote:
>> BlobNode.BlobFieldNo := FColumn.FieldNo; //<----------------!!!
>> blows here!!!

> Some corrections / updates.

> 1. The AV is raised not when the DataSet is open but when the Grid tries
> to fetch for the first time data from the Blob fields.

> 2. The local procedure GetNewBlobNode from TIB_BlobStream.Initialize
> (see in IB_Components.pas) has enough references to FColumn without
> testing it that is not nil & handling it appropriately.

The problem arises that FColumn is assigned in the CreateForColumn
constructor, not in the Create constructor. And,
TIB_BlobStream.CreateForColumn calls TIB_BlobStream.Create after
FColumn is assigned. But, TIBOBlobStream.Create calls
TIB_BlobStream.Create, instead of TIB_BlobStream.CreateForColumn.
So, I really don't think that FColumn is assigned any value when
TIB_BlobStream.Initialize is being executed, when using the IBODataset

Also, TIB_BlobStream.Initialize changed between version 4.9.2 and
4.9.3. If you look at the code in 4.9.2, you will realize that FColumn
is only referenced in one specific scenario.

Try replacing FColumn.FieldNo with FFieldNo, since FFieldNo is
assigned in TIB_BlobStream.Create.

And, I'm very interested in your findings. Because I want to upgrade
to IBO 4.9.3, but the issue with the bookmarks and DevExpress turned
by away for now. And, the blob stream issue isn't just related to
DevExpress, because I would've hit it in my own code.

Best regards,
Daniel Rail
Senior Software Developer
ACCRA Solutions Inc. (
ACCRA Med Software Inc. (