alg-ljの日記

2005-10-01

フォーム上のラベルについて

これから書くことは、PODSで開発していて発生したんですが、OnBoardCに限ったことではないと思うので、メモしておきます。
フォーム(tFRM)にラベル(LABEL)を表示することは良くあると思うんですが、そのときの注意点です。

ラベルは長めに取っておきましょう。

えーと、ラベルには初期値として適当な文字列を入れておく必要がありますね。
このときに入れた文字列よりも長い文字列をFrmCopyLabelなどで入れようとすると、実行時に致命的なエラーが発生します。
たとえば、

123456789

と初期値を定義したラベル1001番(9文字分が確保される)に対して

FrmCopyLabel(pForm,1001,"1234567890");

などと10文字分の文字列を入れようとすると、エラーになるわけです。
コンパイル時はエラーにならずに実行時にエラーになる、というのがなかなかいやらしいです。
ラベルを使う際にはご注意を…。

って、API Referenceに書いてあることなんですけどね。
ちゃんと読めっつうことですな。;-(
http://www.palmos.com/dev/support/docs/palmos/PalmOSReference/Form.html#997022