> From: Danny Epstein <[EMAIL PROTECTED]> > Newsgroups: palm-dev-forum > Date: Mon, 22 Apr 2002 17:19:36 -0700 > To: "'Palm Developer Forum'" <[EMAIL PROTECTED]> > Subject: RE: ExgConnect weirdness? > > >> I'm having this odd problem with ExgConnect while running on an emulated >> Palm OS 4.0 m505 device (it happens on a real 4.0 device too, a Sony >> 610C). This API always returns the bad status 0x150F, "Operation not >> supported". > That's right. The IrOBEX exchange library doesn't support the ExgConnect > function. You don't need it though.
That's odd - I could swear that the docs said that using ExgConnect is _required_ when sending multiple objects. I guess you're providing the additional clarification that the term "object" doesn't include databases. > [...] >> If I do that same thing, but before the ExgDisconnect I do multiple >> ExgPut/ExgDBWrite calls (one per bundled database, exgSocket.count set >> correctly before hand) in a loop controlled by >> DmGetNextDatabaseByTypeCreator, that API call returns the first couple >> databases just fine, but then begins returning the same database multiple >> times, though I'm calling it with newSearch = false after the first call, >> and onlyLatestVers set to true every time! > > This is a classic "modifying a collection as you iterate over it" bug. The > IrOBEX exchange library uses file streams to buffer outgoing objects. These > are really just databases with a bit set to indicate that they represent > files. The way the launcher gets around this problem is by building a list > of bundled databases in advance. I never would've figured that one out - thanks. Can the docs be modified to make this clear? Without knowledge of OS internals, one would never think that the collection was being modified in this case. > You should probably include overlays, even if they don't have the bundle bit > set. Overlays built with the Palm OS 3.5 SDK don't have the bundle bit set. Okay, thanks. Here's a beam receive question: how does an application that has told the system that it is the launcher prevent itself from being stopped upon receiving a beamed application? One thing I tried experimentally was to register to receive data with a prc extension, but the app never got a beam receive launch code. Does the built-in launcher explicitly set its creator ID as the target, and hence my app never had a shot at the beam? Does it use prc, pdb, pqa, etc. when beaming, or does it use MIME types? If it is the latter, then that might explain things, since I didn't register for MIME types. I don't want my app to be 4.0 only, so registering and then making the app the default for data intended for the launcher isn't a complete solution. Thanks, Mark Peters -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
