Олег А. Руденко
If you are not afraid to use undocumentary possibilities of the language, then look in an attach. I have corrected your example slightly. Now it works how you wanted. My corrections are marked as «Corrections by Oleg A. Rudenko».
Briefly I shall explain:
The reference on BLOB represents group of two fields:
BLOBRef GROUP ParentFile &FILE BlobNo SHORT END
This feature has allowed to realize your idea!
Fine work in C5-C55.
In C55 it is possible to make little bit easier.
The reference on FILE can be received so:
OvrRef.xBlob.Parent = Address(xFile)
Oleg A. Rudenko
Thanks much. Works great.
So, it looks like an &BLOB contains a pointer to and an index into an array of BLOB descriptors which probably contain the address of the data and its length. Just guessing here.
Not absolutely so.
Actually, in structure, on which indicates &FILE, there is a pointer on a certain array MemosPtr. In this array each unit contains pointer on structure, which describes an appropriate MEMO-field. For simple MEMO-field, access to this pointer the compiler gives under symbolical name of this field. For BLOB-field, access to this pointer the compiler gives under number BLOB-field in structure of the FILE.
The structure, which describes the MEMO-field, after opening the file contains address and length of the buffer for operation with this field. In structure, which describes a BLOB-field, it is interesting only one field — pointer to runtime-structure, in which contains address and length of the buffer for operation with this BLOB-field.
Oleg A. Rudenko
wrote in message
>> Thanks for the response. Is there no way to get at the data in a BLOB via
> properties only where only the file label is given? I can get at everything
> else via properties when only the file label is give. I’m trying to write a
> generic procedure that is only passed the file label (MyProc(file MyFile)).
> With only MyFile I can get the record, its fields, the keys, components of
> the keys, and memos. But not BLOBs.
> «Alexey Solovjev» <firstname.lastname@example.org> wrote in message
> > Hello,
> > > From: «Robert» <email@example.com>
> > > Date: Wed, 2 May 2001 08:42:42 -0700
> > > According to the online Clarion help, I’m supposed to be able to do the
> > > following:
> > Documentation is wrong here. PROP:BLOB has never been implemented.
> > Alexey Solovjev
> > E-mail: firstname.lastname@example.org