3.3 【ひつじ】
今さらながら動物占い。ひつじだった。けっこうあたってるような気もする。
例によってPhutのCarbon版のこと。2.29に書いたIconServices関係のルーチンについては、やはり描画だけはうまく動いてくれた。RelaseIconRef()が動かないのがちょっと気になるが、とりあえずCarbon版ではアイコンの管理をIconRefで行うように変更。これに伴い、パレットのアイコンの表示が最初だけ「ぱらぱら……」という感じになるが、それはまたそれでいいかなというところ。
ちなみに動作が確認できたのは、GetIconRefFromFile()、IconRefToRgn()、PlotIconRef()の3つのみ。IsValidIconRef()とかもだめだった。このあたりの関数が使用できるかどうかは、例えばIsValidIconRefがnilかどうかを調べるだけでわかる。このあたりはすでに常套手段か。
MacOS Xで動くかどうかはまだ確認できていないが、LiteCarbonLibというライブラリで正常にリンクができれば大丈夫らしい。これについてはそのうちまた試してみるつもり。
ところで、先日リリースしたCarbon版だが、Phut以外のアプリケーションがアクティブになった時にパレットが隠されてしまうという報告を2件いただいた。2.24に書いたとおり、この問題はすでに解決済みのはずだったのだが……。MacOS
9+CarbonLib 1.0という環境でということなのでうちでは試してみるすべもない。MacOS 9+CarbonLib
1.0.2ではどうなるのかが気になるところではあるが。
CarbonLib 1.0は持っていないので、1.0b10c2で実験してみた。すると、初期化ルーチンのMoreMasterPointers()でいきなりつまずいたが、これを無効にして動かしてみるとこれがまたなんの問題もなく動作した。アプリケーションを切り替えてもパレットが隠れてしまうことはないし……。ヘッダファイルを見ても、kWindowHideOnSuspendAttributeはCarbonでのみ使用できると書かれているだけだし、ChangeWindowAttributes()の方も、MacOS
9以降かCarbonLib 1.0以降で使用できると書いてあるし。
次のバージョンではChangeWindowAttributes()が正常に動作しているかどうかなどをチェックするログファイルを残すことにするつもりだけど、なにが原因なんだろう……。そろそろ本格的にOS
9を買ってくる必要が出てきたかなぁ。といっても2.25に書いたように売っている店がないのだが(笑)。
|