Subject | Re: [IBO] BLOB is not refreshing |
---|---|
Author | Petr Hartman |
Post date | 2005-04-29T09:15:56Z |
Hi,
----- Original Message -----
From: "Helen Borrie" <helebor@...>
To: <IBObjects@yahoogroups.com>
Sent: Friday, April 29, 2005 10:02 AM
Subject: Re: [IBO] BLOB is not refreshing
> I don't blame you for being confused! AsString can be used to *write* a
> new value into a text blob.
>
> However, a text blob is not a string, so you can't just read a blob value
> "AsString" and display it as a string. What you are seeing, as you work
> your way backwards through the buffer, is simply the last string that was
> held in that particular slot in the FieldValues array. The code in your
> loop can't change it, so it continues to be the same string.
>
> Typically, in order to get at the content of a text blob. you read the blob
> into a TStream and then use an assignment method to assign the stream to a
> TStrings object, e.g. a TStringList or the Lines property of a TMemo. To
> read the strings of a stringlist as one string, refer to the object's Text
> property.
>
> Helen
but in my previous e-mail, it was only simple example. In fact, I have IBOQuery, DBGrid, DBMemo and I am editing text in DBMemo component. I call IBOQuery.Append, then I write something into DBMemo, then I call IBOQuery.Cancel and then, when I am scrolling DBGrid, attached DBMemo shows still the text, that I wrote into DBMemo.
Here is the small test application http://usti.medisoft.cz/Test/TestBlob.zip
If you want, try it. After you run this application, click on the Open button, then click on the Append button, then write something into DBMemo, then click on the Cancel button and then scroll DBGrid.
I tried it also with "native IBO" components (IB_Query, IB_Memo etc.) and the result was the same.
Thank you
Petr