タイトルURL Accessのサンプルは、nibファイルを使ったCFMで、Mac OSとXの互換パッケージカテゴリーアップルからの開発資料, ネットワーク, Carbon/CF
作成日2001/3/2 11:13:44作成者新居雅行
サンプルコードに「URLAccessSample 1.0」が掲載された。URL Accessは、FTPやWebのプロトコルを使って、インターネット経由でファイルのアップロードやダウンロードを簡単に行うことができるシステム機能である。URLを指定してGETメソッドを使うだけでなく、POSTメソッドの利用もでき、それらのサンプルとなっている。主要なAPIは非同期に処理を行うURLDownloadと、呼び出し後すぐに制御が戻されて同期処理を行うURLOpenがある。いくつかの設定を行ってこれらのAPIを呼び出すのだが、そうした処理が詳しいコメントとともに記載されているので、分かりやすいだろう。このサンプルは、URL Accessのことを知りたい人にはもちろんお勧めできるが、Carbonの開発を行っている人はURL Accessに関係なく御覧になっていただきたい。
まず、Carbon 1.2対応であることから、実際に稼動させるには使用システムのCarbonLibを適切なバージョンにしなければならない。Mac OS 9だと、CarbonLib 1.2.5などを使えばいいのだが、Mac OS X Public BetaはCarbonLib 1.1.0なので、実はこのサンプルを稼動させることすらできないのである。とは言っても、この点についてはあと少しの辛抱なのだろうと楽観視するしかないようだ。
プロジェクトはCodeWarriorのものになっているため、Mac OSでもMac OS Xでもコンパイルはできるが、Mac OSの場合には、Carbon Supportフォルダを自分で追加でインストールする必要がある。そして、注目すべきは、nibファイルを使ってダイアログボックスなどを定義している点だ。当然ながら、CodeWarriorにはnibファイルのエディタはないため、Interface Builderを使って作成したことになるのだろう。また、Carbon Event Managerを使っている。生成しているバイナリはCFMだが、nibファイルもあることからパッケージ化されている。たとえば、同期呼び出しのURLOpenを呼び出した後に、タイマーイベントを呼び出すなどのCarbon Eventの使い方についても参考になる部分がある。いずれにしても、Interface BuilderとCodeWarriorというAppleとMetrowerksのハイブリッドなプロジェクトなのだ。
ここで、まず、nibファイルによってダイアログボックスやウインドウを表示する形態ものもでも、Mac OS Xだけでなく、Mac OS 8/9などのCarbonLib上では機能するということが確認できる。もちろん、Mach-Oだとダメだが、CFMであれば、nibファイルを利用できるのである。
そして、CodeWarrior側では、Release 6から追加されたMac OSパッケージャの機能を使って、パッケージ化されたアプリケーションを生成している。CFMによるMac OSとMac OS Xの両方で起動可能なパッケージを作るという場合の1つの指針になるような設定となっている。
関連リンクURLAccessSample