Del Ventruella wrote:
DmCreateDatabase Function
1. Can the ROM emulator simulate a device with a memory card, permitting me to use these API calls?
The emulators and simulators all simulate devices with memory cards, because all devices have memory cards. The terminology is a bit confusing. Do not think of a memory card as a removable card like an SD Card or a CompactFlash card. A memory card instead refers to RAM. The Palm OS design supports the idea of having more than one chunk of RAM in different address ranges. A hypothetical device might come with some built-in RAM and then have a slot where you could install an additional card. Since that card could be in a different address range, the API supports the notion of multipe different cards. But in reality, this functionality was virtually never used, and essentially all devices have just one card, and it is card #0. So just pass 0 for the card number and don't worry about that parameter. Also, the other thing to realize about this is that since a "card" refers to RAM, your database will be created in RAM. On Palm devices, the RAM is battery-backed (or on newer devices, it is a cache of data that is stored on flash), so it can be used as permanent storage. In fact, when you reset the Palm, the RAM isn't erased, unlike on a desktop machine.
2. Will these database API calls cease to be functional in the Cobalt OS?
Yes, they should be. Cobalt also adds some newer, more advanced types of databases, but the traditional databases that exist now should continue to be supported.
3. If one is going to create a program that creates large databases, memory cards are the way to go?
A Palm device's RAM is divided (with fixed divisions) into several pieces, and one of these pieces is used to store database data. This region is called the storage heap. Most devices have at least 5 or 6 MB of storage heap, because most devices have 8 MB or more of RAM, and on most devices, the storage heap takes up most of the RAM. Some of the bigger devices have a storage heap which is on the order of 50 MB. So, depending on what you mean by "large", the storage heap might or might not be a good place to store your data. The other alternative is to store it in a file on a filesystem. That means you'd be storing it on an SD Card on most devices, although some devices have built-in flash that stores a filesystem. SD Cards are available in sizes as big as a gigabyte, so if you need to store lots of data, that might be your best bet.
4. How does one determine the card number (is this a card serial number, or a slot designator in the device)?
As I mentioned above, in practice it's always zero. - Logan -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
