このシリーズは、2000年12月にInterface BuilderとProject Builderを使った基本的な開発手法をまずお届けし、そこではOutletsとActionについての概念を詳しく説明した。Interface Builderで設定をすることにより、プログラム内でテキストフィールドなどのコントロール類を参照する方法などを示した。また、2001年3月には、抽選用アプリケーションがそこまでの知識で簡単に作成できることも示した。その続きで、今回はアプリケーションの起動を行う場面を中心に説明をしたい。ダブルクリックして起動するアプリケーションが作成できるのは、Mac OS X向けにビルド可能なProject Builderでは当然のことだとして、やはり目指すはドラッグ&ドロップによって起動し、さらにはそのファイルを読み込むなどの処理につなげたい。もちろん、起動時だけでなく、起動後にドラッグ&ドロップもあるだろう。ドラッグ&ドロップにはFinderの項目間でもあるが、起動したアプリケーションはDockにアイコンも表示され、そこへのドラッグ&ドロップもある。なお、Finderからのドラッグ&ドロップは、FinderでのアプリケーションアイコンでもDockのアイコンでもプログラム上では同じイベントとなるため、それぞれ機能を組み込むという必要はないことは最初に押さえておこう。
従来までのMac OS向けアプリケーションでも、ドラッグ&ドロップが可能だったが、これは、OpeDocumentsと呼ばれる種類のAppleEventに対応する必要があった。C言語でフレームワークなどを使わないとすると、AppleEventのハンドラとなる関数を記述し、その関数が所定のイベントで呼び出されるようにするといった処置が必要だった。このイベントはFinder絡みでもあったので、「Finderイベント」としてひとくくりにされることもあったが、いずれにして、そうしたイベント処理を組み込むのがポイントであった。イベントを登録する処理や、あるいはイベントからパラメータを取り出す処理などが煩雑であったので、このあたりはプログラミングを進める上での関門にもなっていた。 Mac OS Xでもやはり同様な仕組みが働いている。少なくとも、Carbonアプリケーションでは、そうしたOpenDocumentsというAppleEventの処理を組み込むことになる。背後でどう動いているかまでは分からないが、こうしたイベントはFinderだけでなくDockで表示されているアプリケーションに対してドラッグ&ドロップしても発生する。