even immediately is not always good enough. records that are queried
instead of GOT can be purged at ANY time (Eg: background thread asks
for a few bytes of dbcache, and that causes a flush, and there goes
your record. It is not likely, but CAN happen just as dmqueryrecord is
retuning to you, before you even get the handle. It is a perfect way
to cause yourself needless headache and random (though rate) crashes.

----
Best Regards,
Dmitry Grinberg
(847) 226 9295


On Wed, Jun 18, 2008 at 5:17 AM, Regis St-Gelais
<[EMAIL PROTECTED]> wrote:
> What is it you don't like about DmQueryRecord?
> As long as you imediatly use the record before doing other database
> functions you should not have any problem.
>
> I usualy copy the record into a buffer and use the buffer.
>
> Some think like this:
>
> memhRecordChunk = DmQueryRecord(gdbrDictionaryDbRef, uintIndex);
> if (memhRecordChunk == 0)
>   return(false);
> strpTmpWordRec = (Char *)MemHandleLock(memhRecordChunk);
> StrCopy(strpWord,strpTmpWordRec);
> MemHandleUnlock(memhRecordChunk);
>
> Then I use the buffer (strpWord in that case) to work with.
> That way I don't have any problem with the record not been in the db cache
> anymore.
>
> "Dmitry Grinberg" <[EMAIL PROTECTED]> a écrit dans le message de news:
> [EMAIL PROTECTED]
>> pretty much replace all calls to dmqueryrecord with dmgetrecord. on E2
>> and preceding nvfs devices it will save you a LOT of headache
>
>
> --
> Regis St-Gelais
> www.laubrass.com
>
>
>
> --
> For information on using the ACCESS Developer Forums, or to unsubscribe, 
> please see http://www.access-company.com/developers/forums/
>

-- 
For information on using the ACCESS Developer Forums, or to unsubscribe, please 
see http://www.access-company.com/developers/forums/

Reply via email to