> But when I try to transfer the pdb file to the Palm using HTTP and
> try to "install" it using DmCreateDatabaseFromImage, it returns
> error 0x201 (dmErrMemError).

Have a look at the Palm File Format Spec document. The way DmCDFI and
ExgDBRead know how big each record or resource is, except for the last one,
is by comparing the offsets of adjacent entries in the list of headers. If
your headers aren't right, these could differ by huge amounts - more than
64K. That would cause the record or resource allocation to fail, resulting
in the error you're seeing. It doesn't matter how much space is available in
the storage heap; such large chunks aren't currently allowed.

A good way to debug this would be to put the pdb file you receive via HTTP
into a single database record or resource. Then inspect this database using
an on-device database viewer or by HotSyncing it onto the desktop and
inspecting it there using a binary file viewer. You should be able to
determine whether it's a valid pdb file by comparing it with the spec. If
you can get the file onto a desktop, you can try dragging onto a Poser
window. If it's malformed, Poser should complain.

Note that DmCDFI is limited to (a bit less than) 64K total database size.
ExgDBRead doesn't have this limit.
--
Danny @ PalmSource

-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/

Reply via email to