あまつぶOL

69. 「3.21のあまつぶ(2001.3.21 7:59:15)
ProjectBuilderのヘルプを読んでみた。
今まで不便だ、不便だと思っていたところがちょっと解決した。

まず、CodeWarrior IDEにあるようなソースの関数をポップアップして
くれる機能。今までに開いたソースのリストなんかよりよっぽど必要だと
思っていたのだけど、「Project」メニューから「Project Index」とか
いうメニューを選ぶとプロジェクトに入っているソースのインデックスを
作ってくれて、インデックスができると関数や定数のポップアップが
使えるようになるらしい。なるほど。
便利は便利になったけど、プロトタイプだけしかない部分もメニューに
出てきてしまうのがちょっとわかりにくい感じ。#pragma markとかが
使えるのかどうかとかも調べてみないといけないな。

プロジェクトのファイルリストでファイルを別のグループに移動する
方法もわからなかったのだけど、アイコンの部分をドラッグすれば移動
できるみたい。CodeWarriorだとファイル名の部分でもドラッグできた
のでファイル名を一生懸命ドラッグしてた・・・。
これと関連して見つけたのは、オプション+フォルダ名クリックで
フォルダ名を変更できること。選んでショートカットより楽かも。

関数や定数の定義が検索できないのも不便だなと思っていたのだけど、
上記のインデックスができると、Findタブで検索方法(?)を
「Definition」にすれば検索できるみたい。プロジェクトに含めた
ファイルだけじゃなくて、Carbon.hから参照されているヘッダファイルも
検索してくれるのでこの機能はなかなか重宝しそう。

ソースファイルの共有について。
サンプルソースを見ていたら、
#ifdef __APPLE_CC__
という記述を発見。どうもこれでProjectBuilderかどうかを判別できる
らしい。ためしにPhutのソースでためしてみたらめでたくうまくいった。
ただ、これまでのソースファイルを参照するようにプロジェクトを変更
してみたら、コンパイル時に中間ファイルを作成するところでエラーが
発生してしまった。おそらく途中のフォルダに日本語名が使われているのが
原因なのだと思うけど、ちょっとこれは不便だな。
ProjectBuilderのプロジェクトファイルをこれまでのソースを置いていた
フォルダに移すのがいちばん簡単なのかな・・・。

もうひとつ。libpngとかのライブラリ作成について。
ライブラリという概念があるのかどうかわからないけど、似たような感じの
フレームワークというのを作ってみた。フレームワーク自体は、libpng+
zlibで簡単に作成できたのだけど、これを参照しに行く方法がわからない。
適当にやってみたらリンク時にエラーが出てしまったし。
ヘルプにそれらしい説明があったような気がするので、そのうちまた
読んでみることにしよう。

68. 「3.15のあまつぶ(2001.3.15 8:28:0)
Phutで起動しているアプリケーションの管理ができていなかった問題について。
ProjectBuilderのデバッガで追ってみたところ、原因が判明。
プロセスのタイプとセルに格納しているファイルタイプの不一致が原因
だった。パッケージになっているアプリケーションについては便宜上
「PACK」というタイプであるということにしてあったのだが、プロセス
のタイプは「APPL」になっているため、ここが一致せずに判別ができて
いなかった。
実際にはフォルダの形になっているためFSSpecでの比較がうまくいって
いないのだと思い込んでいたのだが、意外なところに原因があった。
今後はProjectBuilderでデバッグしてCFM版にも反映していくという
流れになるのかな。Mach-O版のサイズがもう少し何とかなってくれれば
そちらだけをリリースしていくこともできるんだろうけど。
やはり今は両方のコードでソースを共有する方法を探っていかないと
いけなさそうな感じ。

そうだ。サイズが大きいという問題で。
QT-QのMach-O版は、なんと4Mだったりする。せっかく一応動くように
なってくれたけど、こんなサイズではとても公開できない。どちらに
してもQuickTimeエフェクトやらAppleScriptやらが使えない状態
なのでX正式版が来るまでは進展はないだろうけど、難しい問題だ。

67. 「3.14のあまつぶ(2001.3.14 12:59:4)
QT-Qがちゃんと動かない問題について。
GraphicsExportDoExportとかMakeImageDescriptionForEffectなどが
Under Evaluationになっているのが関係ありそうな感じ。
PBではまだ実装されていないのかな。

Gestaltで発生したエラーは-5551だったのだけど、これは
gestaltUndefSelectorErr。定義されてないの? うーん。

66. 「3.12のあまつぶ(2001.3.12 8:27:24)
QT-QをProjectBuilderでビルドしてみた。
libpngとかjpeglibなんかを組み込むのはややこしそうだと思っていたが、
ソースをそのままいれてやったら問題なくとおった。MSLがいるあたりが
気になっていたが、もとがUNIXだけあってそのあたりは問題ないのかな。

例によってSearch.cの_GetTMTaskなどを書き換える必要があったが、
それ以外はこれといって問題なく作成できた。
HideやQuitメニューが化ける件も、Productsフォルダの深いところにある
pInfo.string(名前違うかも)とかいうものの中身を編集してやったら
めでたくちゃんと表示されたし。
ただ、実際の動作のほうはあまりうまくはいかなかった。
WINDリソースが読み込めないということはなかったが、QuickTimeの
エフェクトがなぜか使えないし、AppleScriptもGestaltでエラーが
返ってきてしまった。PBということでまだ実装されていないのかも
しれないけど、方法が変わったなんてこともありうるし。

あとは、PNG圧縮を使用とすると終了してしまうという不具合もある。
どうも、GetPixMapInfoで問題が起こっているようで、ProjectBuilderから
Runしてみたらそれらしいエラーが表示された。
デバッガも使えるみたいだし、来週にでもちょこちょこ調べることに
しようかな。

March index