Loading a Record
Philip Mötteli
philip.moetteli at econophone.ch
Sun Feb 5 16:13:33 CST 2006
Hi,
Am 03.02.2006 um 11:15 schrieb Ruslan Zasukhin:
> On 2/3/06 11:19 AM, "Philip Mötteli"
> <philip.moetteli at econophone.ch> wrote:
>
> * and in found table it set CURRENT record to be RecID from OID.
>
> pTable->put_RecID( recid );
>
> So
> I_Table_Ptr pTable = pdb->GoToRecord( OID );
>
> // pTable already have load required record
> // so you can read values:
>
> for( I ){
> pTable->get_Field(i)->get_Value()->get_String()
> }
>
>> But, after having pointed something in the I_Table, I need to
>> actually load it to some local cache. How would I do that?
>
> No. you do not load anything manually!
>
> After put_RecID( 10 ) Valentina already have load this record into
> fields.
> You can just read values of fields.
Great!
When is the memory occupied by the values of those fields released or
changed (overwritten)? How long can I keep a pointer to those memory
blocks given to me by "I_Value.begin()" and be sure, that the memory
is accessible and contains the right value? Should I copy them
immediately to be sure to keep the right value?
As I understand, if the VSDKC++ does not overwrite this part of the
memory (e. g. with the next "I_Table.put_RecID()") and automatic
garbage collection is used, these memory blocks should be valid and
contain the right values, as long as I keep a pointer to them?
Thanks
Phil
More information about the Valentina
mailing list