DmReleaseRecord needs to be paired with DmGetRecord because DmGetRecord sets the dmRecAttrBusy bit for the record. DmDetachRecord coupled with MemHandleFree detachs the record, thereby deleting the busy bit with it and the chunk is freed by MemHandleFree. This seems like a good approach as opposed to using DmRemoveRecord which is not recommended in case the record was synced at some point and as DmDeleteRecord removes the record fom the header and leaves the record to be disposed of at next sync. Because of how the daVinci API is setup, anytime you create a new record, a default record is created first and then you replace it with the new data, hence the need to detach the old record. This makes the SaveRecord API work for both edited and new records.
So that means that DmGetRecord can be paired with DmReleaseRecord OR DmDetachRecord because dmRecAttrBusy is cleared by both. There may be others but I don't know about that yet... -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
