4.9 16:00 【WWDCの案内】 モーダルダイアログの件の続き。WindowExtensions.cを見てみたら、ActivateFloatersAndFirstDocumentWindow()とDeactivateFloatersAndFirstDocumentWindow()というのを発見。モーダルダイアログを使う前後で呼び出せみたいなことが書いてあったので試しにやってみた。当然ながらこれで解決したのだけど、ダイアログを閉じたあとにメニューが使用不可のままになってしまうという別の問題が。これもなにか忘れているのかも知れないと思いつつ、よくわからないのでメニューバー更新ルーチンを呼び出して一応解決。また、ファイル選択ダイアログでも同様の問題が発生するようなのでこちらも。 しかしダイアログを表示するごとにこれらを呼び出すのはなかなか面倒だ。QT-Qではファイル選択が1ケ所、保存が2ケ所、ダイアログが2ケ所だからたいしたことはないけど、もっとたくさんある場合に毎回同じことを書くのはちょっと。いつもだいたいGetNewDialogやDisposeDialogと同時に呼び出すんだからこれらをまとめたルーチンを作っておけば役にたちそう。 それより、ModalDialogの代わりになってアプリケーション切り替えが可能なルーチンを書いてしまう方がいろいろ使えるかな。ModalDialogと同様のコールバックルーチンを使えるようにすれば応用範囲も広そうだし。ウィンドウのアップデートルーチンくらいは必須だろうから、アプリケーションのイベント処理ルーチンのアドレス(ppc環境ではUPPか)を渡してやればokかな。 そういえばちょっと前にStruct Alignmentの違いで細かいバグを作ってしまった。いつもはたいてい68kバージョンのみを作ってあとからppcバージョンを……という順序で作るのでたいして気にしたことはなかったのだけど、QT-Qは最初からFATで作るつもりだったから環境によってAlignmentが違う状態になっていた。そこでBooleanとStr255をくっつけた形の構造体を作ったら、Booleanの部分が68k環境では1バイト、ppc環境では2バイトになって、初期設定ファイルの内容が一致しなくなってしまった。 どちらか片方だけを使っているかぎりは問題ないのだけど、例えば途中からppcにアップグレードした場合は初期設定が正常に読み込めない。初期設定を作りなおせば大丈夫なのだけどやはりこれは問題だろう。まーStruct Alignmentを68kに統一してコンパイルしなおすだけだからあっさり解決したけど。 ここまでの時点でソースが7200行を越えてしまって、公開用の68kバージョンもラージモデルでないとリンクできなくなってしまった(^^;;;; ま、10000行をこえるまでは今のままでいけるかな(笑)。IconPartyのソースを分割したのがどのくらいの行数の時だったか忘れたけど。 WWDCの案内がまた来た。最初はメールで届いて、次は電話、今回は郵便。いってみたいなぁとは思うけどそうそういけるもんじゃない。単なるオンライン会員だからコースで189,000円+39,000円=228,000円もかかるわけだし。8日間で、だからそのくらいかかるのかなとも思いつつ。しかし募集人員300名と書いてあるのに、こうも何度も案内がくるのも不思議だ。あんまりいく人いないのかなぁ? |