ok, i've seen my mistakes there, and the application is running fine, no crashes. However, do you see any reason why in my data, there would be random letters placed there? i'm looking at the data when i'm pulling it off into a text file (this program is known to work already), and when reading it right off the palm using SyncWizard it has a 'p' and a 'DA' in it.
The program that pulls it out has it come like: 123456789 987654321 p 147258369 DA any ideas? "Keith Rollin" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > From: Matt Andreko [mailto:[EMAIL PROTECTED] > Sent: Friday, June 06, 2003 12:32 PM > To: Palm Developer Forum > Subject: problem writing to database (beginner) > > I have some code which just needs to write to a single table database. > however, it's dying on a line, that i'm not sure how to fix. > (i'm new to palm and c++) Sounds like an open invitation... :-) BTW, while I'll pick out some problems, it wouild help if you would describe what you meant by "dying". > MemHandle h = DmNewRecord(gDatabase, &index, 5); >... > Char * s = (Char *) MemHandleLock(h); > > Char * pChar = (Char*)MemPtrNew(5 * sizeof(Char*)); > StrCopy(pChar, "Orders\0"); > // program is dying on next line > > DmStrCopy(s, 0, pChar); > MemPtrFree( pChar); > MemHandleUnlock(h); * In the line where you call MemPtrNew, note that you are specifying a size of "5 * sizeof(Char*)" bytes. The first problem here is that you need a buffer that holds 7 characters, not 5. However, that's made up for by the fact that you are multiplying by "sizeof(Char*)", which is 4 bytes long instead of just 1. That means you are allocating 20 bytes, when you thought you were allocating 5 bytes, and you actually needed 7. * There's no need to specifically terminate your string literal with a NUL. C does that for you. * There's no need to allocate the buffer at all. Just say: > Char * s = (Char *) MemHandleLock(h); > DmStrCopy(s, 0, "Orders"); > MemHandleUnlock(h); * Finally, the problem is probably because in your DmNewRecord call, you allocate only 5 bytes when, as we noted, you need 7. -- Keith -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
