Found my notes:
Bob told me that the header size will vary between OS releases and the best
way to determine that is through experimentation. Additionally, the memory
manager may add 0-7 bytes to the end of the record to pad the data so it
stays in byte multiples. I found that the current magic number is 4 bytes.
(i.e. all records are allocated in multiples of 4 bytes)
Dave Fedor told me that prior to OS 3.0, the memory manager had a 6 byte
overhead per record and after 3.0 it became 8 bytes. He also said all DB
memory is allocated in 4 byte multiples.
So, your DB size will be = (DB header overhead + (record size normalized to
4 byte chunks + record overhead)*number records)
I found the DB overhead to be 84 bytes for both 2.x and 3.0
Hope that answers your question
Dave
-----Original Message-----
From: Christopher Hunt <[EMAIL PROTECTED]>
To: PalmOS Developer Forum <[EMAIL PROTECTED]>
Date: Monday, June 21, 1999 6:55 PM
Subject: Q: True Recordsize
>Does anybody know how to obtain the true record size of a record in a
>database?
>
>I have a scenario where DmNewRecord allocates successfully and returns a
>handle. If I then subsequently obtain the handle's size I sometimes find
>that the Data Manager has reused some previously allocated space
>(possibly from a deleted record). Consequently the handle size is larger
>than what I previously declared to DmNewRecord.
>
>I acknowledge that other things could be causing the above behaviour but
>I have looked long and hard and this is what I finally conclude. Any
>validation of my observations would be greatly appreciated.
>
>Regards,
>--
>Christopher Hunt
>Class Action Pty. Ltd.
>
>Are you a time zone traveler that owns a Palm(tm) connected organizer?
>Check out http://www.classactionpl.com/TimeTraveler/index.htm
>
>