[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[pilot-tech-ml 60] Re(2): CalcPad ver 0.2
ほし@えすあーるえーです。
福本さん:
> そうですね。モジュール実行時はグローバル変数にアクセスできません。これは、
> 不便ですね。そこで考えてみたのですが、tDropLaunchCmdParamRecにマックでおなじ
> み(?)のULongのrefConを追加したら、便利ですかね?でも、良く考えると意味が
> 無いですね。失礼しました。
global 変数は全部一つの構造体にまとめて、それへのポインタを
持ってまわるか、クラスにして、関数は全部メンバ関数にしてしまう
のも手ではあります。特に、クラスにすれば余計な引き数はいらないし、
global 感覚でアクセスできます。(CalcPad は一部 C++ を使ってます。)
また、global/static なテーブルは、リソースに追い出すとよいでしょう。
(これは EXPO 1998 で使った手。)
ただ、ここで問題になるのは Palm OS が定義する callback 関数に
refCon 相当の引き数がないことですね。ま、フォームを使わなければ
問題ないけど。
あと、DropModule 用の構造体を変更するのはいいんだけど、version
フィールドがないのは問題かも... 今ならまだ間に合う?
**
> モジュールを作るに当たって、要望などが有りましたら、教えて下さい。
えーと、
・DropModule.h で #pragma once してますが、gcc では警告が出るので、
#ifdef __MWERKS__ 〜 #endif で囲っていただけると嬉しいです。
あと、最後の行にも改行が欲しい... ;-p
(CalcPad に含まれている DropModule.{c|h} では勝手に変更しました。
もしかして、配付しちゃまずかったかな?)
・質問ですが、srcText の最後に '\0' がないのは百万歩譲るとして、
(field の持ってる handle を直接指してるかもしれないし...)
resultText の方は、サイズが余分にあっても (かつ最後に '\0' が
あっても、) resultTextLength さえ正しければ、構いませんよね?
(計算結果はたかだか十数文字なので、あらかじめ決まったサイズの
Ptr を割り付けるようにした方が楽なもので...)
ほし