Is there an easy way to get access to a particular
resource database's current overlay?   If I have a
database, what's the best way to get a DmOpenRef or
LocalID for the currently used overlay database?

It's not easy, but you can do the following:

1. Get the creator and name for the target database.
2. Call OmGetCurrentLocale to get the overlay locale.
3. Call OmLocaleToOverlayDBName to get the overlay DB name.

Now you can either open the overlay DB directly, or you can loop over the open resource databases using DmNextOpenResDatabase (starting w/NULL) until you find a database with the same creator, the type = 'ovly', and the name = to result of calling OmLocaleToOverlayDBName.

Is there a way other than using OmGetCurrentLocale to
determine the current language & country

Calling OmGetCurrentLocale is the right way to determine the overlay locale.

and figure
the name of the overlay database from that info?

See above.

If I
do end up using OmGetCurrentLocale, does that work
okay with EFIGS devices where the locale is not
stamped directly into the ROM?

Yes. Though even on an EFIGS device, there is a ROM locale, which is currently always enUS for all devices I know of. This ROM locale is used to initialize the system and overlay (current) locales. Then the user can pick a different system/overlay locale using the Language Picker app, which is automatically run following a hard reset.


-- Ken
--
Ken Krugler
TransPac Software, Inc.
<http://www.transpac.com>
+1 530-470-9200

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

Reply via email to