Subject Re: [IBO] Problems in TIB_BlobStream with the last Beta
Author Jason Wharton
Yes, Daniel is right. It is something that will affect everyone.

3.9.3 is for sure not a release candidate.

Jason

----- Original Message -----
From: "Daniel Rail" <daniel@...>
To: <IBObjects@yahoogroups.com>
Sent: Monday, July 20, 2009 4:59 AM
Subject: Re: [IBO] Problems in TIB_BlobStream with the last Beta


> Hi,
>
> 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
> components.
>
> 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. (www.accra.ca)
> ACCRA Med Software Inc. (www.filopto.com)