Tech Note 17: HostTraceLib共有ライブラリを使う Jan 27, 2002 © NS BASIC Corporation. All rights reserved. |
(Adrian Nicolaiev氏による寄稿)
NSBHostTraceLibは、あなたのアプリケーションをトレースするための便利な関数をNS Basic/Palmに追加します。これを使うとMsgBoxを使う必要がありません。あなたがトレースしている間、アプリケーションは実行され続けます。
これを使うためにはPOSEにNSBHostTraceLib.prcをダウンロードしなくてはなりません。これは小さなファイルでサイズは約1.4kです。起動するにはStartup codeで以下のことを行います:
Dim Error as Integer LoadLibrary "NSBHostTraceLib","HT" 'case is important Error = HT.NSBHostTraceInit()
Termination codeに以下のラインを入れるのを忘れないで下さい。これによって終了します。
Error = HT.NSBHostTraceClose()
さらに"Reporter"についてのインストラクションをダウンロード(370k)し手順を理解して下さい。 Reporter.exeを\nsbasic\toolsフォルダに入れて下さい。PalmTrace.dllをあなたが使っているEmulator.exeが入っているフォルダに入れて下さい。
NS BasicからのビルトインROMがついたPOSEを使用している場合、フルバージョンのエミュレータとROMイメージをダウンロードして下さい。PalmOS.comのPalm Emulatorページで入手可能です。
http://www.palmos.com/dev/support/docs/devguide/UsingReporter.html
含まれているファイル:
NSBHostTraceLib.INF | NSBHostTraceLibのインフォメーションファイル。\nsbasic\libフォルダに入れる。 |
NSBHostTraceLib.prc | ライブラリ。\nsbasic\libに入れ、さらにPOSEにダウンロードする。 |
HostTraceLib.prj | この共有ライブラリのサンプルNSBasicプロジェクト。 |
HostTraceLib.zip | 以上の全てのファイルを含んだZIPファイル。 |
1. NSBHostTraceLib.PRCとNSBHostTraceLib.INFは\NSBasic\Libに置かれていなければなりません。
2. このライブラリはNSBasicのLoadLibraryステートメントを使ってロードされなければなりません。関数がプログラムのどこでも有効になるように、このステートメントはプログラムのStartup codeで書きます。LoadLibraryは省略名を付けるための2つ目のパラメータを持っています。本稿の例では"HT"をこの名前としてい使っています。例:
プログラムのStartup code:
Sub main() LoadLibrary "NSBHostTraceLib", "HT" End Sub
3. 何かトレースを行う度に、Reporterにラインフィードを入れない場合、以下を行います:
Dim MyMessage as String ' just an example Dim MyNumber as Integer ' just an example MyNumber = 100 * Rand() ' just an example Error = HT.NSBHostTraceOutputT("Your Message") ' or MyMessage = Str(MyNumber) Error = HT.NSBHostTraceOutputT(MyMessage)
4. 何かトレースを行う度に、Reporterにラインフィードを入れる場合、以下を行います:
Dim MyMessage as String ' just an example Dim MyNumber as Integer ' just an example MyNumber = 100 * Rand() ' just an example Error = HT.NSBHostTraceOutputTL("Your Message") ' or MyMessage = Str(MyNumber) Error = HT.NSBHostTraceOutputTL(MyMessage)
5. Startup Codeで行う方が良い場合、以下を行います:
Sub Msg(Message as String) Error = HT.NSBHostTraceOutputT(Message) End Sub Sub MsgL(Message as String) Error = HT.NSBHostTraceOutputTL(Message) End Sub
6. Reporterを稼働状態にしなければなりません。あなたの全てのメッセージをトレースします。