Skip to Content
Programming Visual Basic for the Palm OS
book

Programming Visual Basic for the Palm OS

by Matt Holmes, Patrick Burton, Roger Knoell
April 2002
Intermediate to advanced
440 pages
12h 37m
English
O'Reilly Media, Inc.
Content preview from Programming Visual Basic for the Palm OS

DBSLib Fuser

In this section, we modify the DBSLib driver application and create an AppForge fuser. This allows an AppForge VB application to access the shared library.

To convert the driver application to a fuser, you need to change its database type to FUSR. You must also set the structure alignment to 68K 4-byte in the 68K Processor panel of the project’s settings. Make sure to recompile the project after making these changes.

Data Types

For use as a fuser, we define the following launch codes.

#define dbsFuserAppLaunchGetAPI   32767
#define dbsFuserAppLaunchCreateDB 32768

The dbsFuserAppLaunchGetAPI launch code corresponds to DBSLibGetAPI. To marshal data for this launch code, we use the following structure.

typedef struct DBSLibAPIStruct
{
  Int16 nMajor;        /* OUT */
  Int16 nMinor;        /* OUT */
  UInt32 nResult;      /* OUT */
} DBSLibAPIStruct;

We receive the IN items from the AppForge application and we pass the OUT items back to it. Here we only have OUT items. nMajor and nMinor are the major and minor numbers, respectively, of our library’s version. nResult is the result of processing this launch code. 0 means success, 1 means failure.

We then combine CreateDatabase and GetDBInfo into one launch code—dbsFuserAppLaunchCreateDB. Since a fuser’s global data is not generally available while processing a launch code, we must open and close the library each time.[59] This makes it difficult to maintain state between launch codes. Thus, we combine these two functions into one launch code.

We use ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Palm OS Programming, 2nd Edition

Palm OS Programming, 2nd Edition

Julie McKeehan, Neil Rhodes
Learning C# 2005, 2nd Edition

Learning C# 2005, 2nd Edition

Jesse Liberty, Brian MacDonald

Publisher Resources

ISBN: 0596002009Catalog PageErrata