Palm OS5.0対応時の注意点。

文字列の文字数を調べるとき

● 症状

文字列の文字数を調べるとき

症状

文字数を調べる関数、
StrLen (string);
を使うとき、文字列'string'の中身が無い(文字数が0である)場合、エラーとなる。 を使うとき、文字列"string"の中身がNULLの場合、エラーとなる。(多分、OS5.0のみ) ● 対策
Char	*string;
UInt16

対策

文字列がNULLである可能性がある場合、
Char	*string;	// 文字数を調べる文字列
UInt16	len;	// 文字数

if (string == NULL)
	len = 0;
else
	len = StrLen (string);
という具合に、文字列がNULLかどうかの判断を加える。 ● 対策

DIAをフルには生かせないが、次の様にするととりあえず上記問題は解決できる。~

上記ファンクションの前にシルクを強制的に表示させて、
PINSetInputAreaState (pinInputAreaOpen);
後で、元の状態に戻す。
PINSetInputTriggerState (pinInputTriggerEnabled);
PINSetInputAreaState (pinInputAreaUser);