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/
