Tech Note 05: Shared Libraries in NS Basic/Palm

February 27, 2006

© NSB Corporation. All rights reserved.

Palm OS provides shared libraries. These are like dynamically linked libraries on desktop systems and provide functions and subroutines available to other programs. NSBasic/Palm provides a way to use many shared libraries within an NSBasic program. Tech Note 05a: Using Shared Libraries describes how to use a shared library. In addition, there are tech notes and examples for using many specific shared libraries.

Shared libraries come from several different sources:

For more information on writing and adapting shared libraries, see Tech Note 05b: Writing and Adapting Shared Libraries

A shared library for use with NSBasic has two components:

One is a file containing the shared library. The name ends in .prc. This file must be downloaded onto each Palm OS device that will use the library. These files should be kept in the Download folder within the NSBasic/Palm install folder (e.g. C:\NSBasic\Download). For convenience in distribution, NSBasic/Palm also provides a way to bundle a shared library into the NSBasic program itself.

The other is an information file, whose name ends in .inf. These files are kept in the Libs folder within the NSBasic/Palm install folder (e.g. C:\NSBasic\Lib). Information files provide information for the IDE to use when constructing calls to shared libraries. They are not downloaded onto the device. The process of adapting a shared library to run under NSBasic, when possible, only requires changing the information file. There are two versions of information files. The main difference is that version 2 provides automatic type checking. All new development should use version 2. Version 1 is deprecated, but there are still some of this version around. For more information, see Using Shared Libraries.

List of Shared Libraries

This is a list shared libraries and extensions that are known to work with NS Basic/Palm. If you know of additional libraries that should be listed here, please let us know.

For further information on each library, click the documentation link.

Name Description Type Price Sample
AstaLib Using SkyWire™ Components, your PDA will be able to manipulate your Enterprise data using industry standard SQL statements. This functionality is in addition to the extensibility of the SkyWire™ Server itself.
SkyWire Client program
--
--
BitsNBytesLib BitsNbyteslib adds a number of handy functions to NS Basic/Palm for doing bit manipulation and conversions. You can do a variety of bitwise AND, OR and NOT operations, shift bits left and right, and convert between hex, binary and decimal. Included with the full version of NS Basic/Palm.
Included in NS Basic
--

BitnGadf.prj in Samples folder

GraphLib Graph Lib is a set of API's that help developers "graph-enable" their applications quickly and painlessly. The visual impact of graph/charts is much greater than a set of numbers, and these API's provide a cool way to create those graphs.
Commercial
$19.99
--
Handera NSBHandEra provides support for the HandEra's high resolution screen, virtual silkscreen, and audio features. Included with the full version of NS Basic/Palm.
Included in NS Basic
--
NSBHandera-Test.prj in Samples folder
HttpLib2 The HTTPLib2 library is an HTTP library which allows an application developer to write NSBasic programs that interact with a web service over the Internet via the HTTP protocol. This library does not need the iNetLib from the PalmOS mobile internet toolkit anymore, unlike HTTPLib.
Shareware/ Commercial
€25/ €100
--
HostTraceLib NSBHostTraceLib adds handy functions to NS Basic/Palm for doing tracing of your applications. You won't need to use MsgBox Function anymore, nor clicking its button :) Your application will run while you trace it. Included with the full version of NS Basic/Palm.
Included in NS Basic
--
--
IrPrint IrPrint™ Open Library provides many different levels of printing for you to add to your applications.
Commercial
Contact
--
KyoceraLib NSBKyoceraLib provides support for the Kyocera Smartphone module, telephony, and URL handling APIs. Included with the full version of NS Basic/Palm.
Included in NS Basic
--

NSBKyocera_Test.prj in Samples folder

MathLib MathLib is a PalmOS shared library which makes a complete set of IEEE-754 double-precision math functions available to other PalmPilot applications. Does not require an INF file to use: it is built into NS Basic/Palm.
GNU Library General Public License
--
--
NSBeamer NSBeamer is a database and record beaming extension for NSBasic/Palm applications. Commercial.
Commercial
CAD$40
--
NSBJPGview NSBJPGview is an NSBasic/Palm extension that enables you to view JPG images in your NSB application. JPG images files stored in the Palm's main memory (RAM) and on VFS expansion cards are supported. JPG images are scaled to the dimensions and location on the form that you specify. High and standard density displays are supported. Supports OS5 ARM powered devices ONLY.
Commercial
CAD$50
--
NSBSplashPhoto NSBSplashPhoto is an NSBasic/Palm extension that enables you to view JPG images via SplashPhoto from an NSB application. JPG images files stored in the Palm's internal memory and on VFS expansion cards are supported. Commercial.
Commercial
CAD$50
--
NSBZire71Camera NSBZire71Camera is an extension that enables your NSBasic Palm application to control the built in digital camera of the Palm Zire71 handheld. With NSBZire71Camera your application can snap photos, view photos, rename, copy, and delete photos, and more. It even features ultra fast ARM code for JPG encoding and decoding.
Commercial
CAD$50
--
PalmPrint Serial and infrared printing from NS Basic/Palm apps. Workd on a very wide variety of printers.
Commercial
$39.95
--
Print Manager DATECS Print Manager is used to print data from the standard palm applications. This versatile software is also the central application where you can control the printer options, enable DATECS Screen Print and determine the printer or Palm battery status. You can choose the application to be printed, view its complete content and select the font size. Has NS Basic SDK.
Freeware
--
--
ScreenLib It allows you to change the bit depth and color attributes. There are also drawing functions and a screen lock function. Included with the full version of NS Basic/Palm.
Included in NS Basic
--
ScreenLibTest.prj in Samples folder
SnumLib Shared library for obtaining a device serial number, if any.
Freeware
--
--
StringLib NSBStringLib adds a number of handy functions to NS Basic/Palm for doing string manipulation and data formatting. Included with the full version of NS Basic/Palm.
Included in NS Basic
--
StringLibUse.prj in Samples folder
SyncAnywhere SyncAnywhere is an FTP Client that you can control from inside your NSBasic application (your user does not have to leave your application to sync data!), Pack many Palm databases inside one single database for faster transfers, Unpack all or only one database. Supports Delphi and Visual Basic in the Server side to Pack and Unpack the PDB files.
Commercial
$159
--
SymbolLib NSBSymbolLib provides support for Symbol devices. Included with the full version of NS Basic/Palm.
Included in NS Basic
--
Symbol.prj in Samples folder
SystemLib NSBSystemLib contains functions that provide access to the PalmOS System. Some of these functions allow calls to PalmOS APIs that can not currently be called using NSBasic's SysTrap statements. Others, just provide a simplified interface to the PalmOS. Included with the full version of NS Basic/Palm.
Included in NS Basic
--
SysLibTest.prj in Samples folder
TcpIpLib TcpIpLib is a simple to use shared library that lets you communicate from a Palm using Tcp/IP. There is also sample code to exchange data with a VB app on the desktop. Included with the full version of NS Basic/Palm.
Included in NS Basic
--
TCPIPDemo.prj in Samples folder
VFSLib NSBVFSLib contains functions that provide access to the external storage card(s). Included with the full version of NS Basic/Palm.
Included in NS Basic
--
VFSTest.prj in Samples folder