Debug Database

The previous debugging techniques involve POSE and the Palm Reporter. In this section, we show how to send debug information to a database on POSE or the Palm handheld. This technique is especially useful for debugging applications where the Reporter may not or cannot be used.

We encapsulate debug functionality in a module called modDebugDB, which can be accessed by other components in our application. This module contains four functions for logging messages to a database.

DebugDatabase

This public subroutine logs a message to the debug database.

OpenDebugDatabase

This private subroutine creates the debug database, if necessary, and opens it.

WriteDebugRecord

This private function writes a record to the debug database.

DeleteDebugDatabase

This public subroutine deletes the debug database.

PalmIDtoLong(PalmID As String) As Long

This private helper function converts a Palm ID String to a Long. It is copied from the PDBTutorial project that comes with AppForge. We do not discuss this function in this chapter.

We begin the module by declaring variables for a database handle and record type.

Option Explicit

' Use this global to store the database handle
Private dbDebug As Long

Public Type tDebugRecord
        Message As String
End Type

Here, we simply store a message String in each record. This is the listing for DebugDatabase.

Public Sub DebugDatabase(msg As String) Dim debugRecord As tDebugRecord OpenDebugDatabase If dbDebug <> 0 Then 'We successfully opened the database ...

Get Programming Visual Basic for the Palm OS now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.