Macintosh Developer Online (MDOnline)


2000年9月6日発行号 - パブリックベータ1週間前!



訂正があります。9月4日号で、コントロールバー書類を簡単に作成できるツール「CSM Maker」の記事をお届けしました。そこで記載していたソフトウエアメーカの名前は、RACE SoftwareではなくRAGE Softwareでした。おわびの上、訂正いたします。

さて、一昨日PowerBookを壊したと書きましたけど、実は、今PowerBookで快適に仕事をしております。壊れたのではなく、コネクタの接続が甘かったようです。ロジックボードとCPUのボードのコネクタってうまく力を入れないと、すかっとはまらないため、押しが甘かったようです。ちなみに、CPUのドータボードにメモリも差し込むのですが、そのメモリをいったん抜き取り、メモリの下に隠れているあたりをぐいっと力を入れて押し込むのがコツのようです。それで、20GBのHDDも、きちんと接続すると、回転しはじめました。このIBMのドライブって時々、カチャ、カチャと音がするのですが、なんか気持ち悪いですね。こんなものなんでしょうか。フォーマットをして、さっそくながら、「macosx」というドライブを作ってあります。先週の土曜に死んだHDDはやっぱりだめだったんですが、初期設定フォルダにはスティッキーズファイルとか、IEのお気に入りなどいるものがあるので、別ドライブにシステムを組んで起動はできるようにして、AppleScriptでプログラムを組んで必要なファイルを救いだしました。これは成功しました。いずれにしても、あわてていろいろやるとうまくいかないですね。昨日、落ち着いてもう一度やってみようと思ってやって、うまく行ったのです。やっぱり20GBはひろーい!ちなみに、秋葉原のT-ZONEで、\31,500でした。
(新居雅行 msyk@mdonline.jp


訂正-【小池邦人のプログラミング日記】2000/9/4<Mac OS Xへの道 Carbon対応の実際(7)>

その後、読者方からの情報で、MultilingualTextEngineのSDKがAppleのSDKサイトにあることが判明いたしました。調べて見ると、すでに私もちゃんと持っていました
(陳謝)。しかし、このSDK自体がサイトに登録された期日は5/18であり、またPDFファイルの名称も、やはりMultilingualTextEditorとなっています。と言うわけで、このSDKがCarbonLib 1.1にちゃんと対応しているのかどうかは、やはり少々怪しいかもしれません。
◇Development Kit
 http://developer.apple.com/sdk/#MLTE

関連リンク:オッティモ
カテゴリ:


【小池邦人のプログラミング日記】2000/9/5<Mac OS Xへの道 パブリックβ版に備えて>

待望のMac OS Xパブリックβ版がリリースされる直前ですが、ここで最新のCarbon SDKについてのおさらいをしておきたいと思います。と言っても2000年9月5日現在、Carbon SDKの最新GMバージョンは相変わらずv1.04のままです(涙)。これはv1.02からのバグフィックス版で、Appleから発売されたAppleWorks 6.0が安定して動くようにチューニングされた物です。よって今のところ、Metrowerks CodeWarriorでCarbon対応アプリケーションを開発するのには、この「Carbon 1.0.4 SDK」を用いるしかありません。しかし、CarbonLibの本当の姿と実力は、次期リリースのv1.1にあります。また、Mac OS 9の次期バージョンでもCarbonLib v1.1が標準添付されるという噂もあります。(この状況では無理じゃないかと思うのですが...)

9月5日現在、AppleのADCメンバーはメンバーサイトから「CarbonLib 1.1a4 SDK」をダウンロードすることができます。CarbonLib 1.1 SDKもd版がリリースされてから3ヶ月以上が経つのですが、相変わらずα版のままです(涙)。このSDKに含まれている「Universal Interfaces」はv3.4d8となっています。こちらもメンバーサイトから単独でダウンロードすることができますが、バージョンはv3.4a1ですので、少々新しくなっています。最新のSDKでの大きな変更点は「Carbon Support」フォルダ内に、Metrowerks CodeWarrior用のPreCompiled Headerを含んだ「CarbonHeadersPreCompiled」フォルダが追加されたことです。そのフォルダ内の「CarbonHeadersPCH」が、CodeWarriorでCarbonLib v1.1対応アプリケーションを開発する時に利用するPreCompiled Header本体です。

このフォルダには、CarbonHeadersPCHをMakeするためのプロジェクトも含まれています。これは、使用しているCodeWarriorのバージョンによっては、添付されているCarbonHeadersPCHをそのまま使えない場合があるためです。(Pro5ではダメでした)こうした場合には、「CarbonHeaders.mcp」を起動させ再度作り直す必要があります。プロジェクトからCarbonHeadersPCHを使うのには、まず「Carbon Support」フォルダをCodeWarrior環境の「Metrowerks CodeWarrior」や「MacOS Support」フォルダに入れ、CodeWarrior IDEのSettingsダイアログでリンク先のパスを変更してやります。そして、Settingsダイアログの「C/C++ Language」パネルのPrefix Fileカラムにその名称を入力すればOKです。

CarbonHeadersPCHの内容はとても単純で、Universal Interfacesに含まれている「Carbon.h」をコンパイルしただけです。これにより各Managerに対応したヘッダーファイルをいちいち大量に#includeする必要がなくなります。ただし、Carbon.hにはQuickTime関係のヘッダーファイルは含まれていないようなので、開発しているアプリケーションによっては、それらを別途リンクする必要があります。

v1.1 SDKに付属しているドキュメントは、「Carbon 1.1 technote 7/18/00.pdf」と「Carbon Porting.pdf 7/17/00」だけです。それ以外は、参照用として以下のCarbon Documentサイトへのリンクファイルが添付されています。
◇Carbon Developer Documentation
 http://developer.apple.com/techpubs/carbon/carbon.html

つまり、各自サイトからダウンロードして読めということですね(笑)。しょうがないので、デベロッパーは毎日このサイトをのぞき、最新ドキュメントが更新されていないかチェックする必要があります。(これが全然更新されない...)「Carbon Support」フォルダに入っているサンプルにも、v1.1で追加された「Carbon Event Manager」や「Multilingual Text Engine」に関連したプロジェクトが追加されています。しかし、うまく動かないサンプルも多々あり(α3よりは良くなっているが...)まだまだ消化不良の感が拭えません。

また、あまり知られていませんが、新しくサポートされた「DataBrowserコントロール」に関するサンプルプロジェクトも含まれています。これは、Finderのリストウィンドウと同じ機能を持つコントロール(なぜかList Managerの拡張ではない)を市販フレームワークを利用しなくても使えるようにするAPI群です。リストウィンドウのタイトルをスライドさせたり、タイトルの内容により並び替えをしたり、三角アイコンで階層表示したり、Finderが行っている機能はほとんどすべて実現できるようです。このDataBrowserコントロールのサポートも Carbon v1.1からとなっています。これに関係するドキュメントも、AppleのCarbon DocumentサイトのControl Managerの簡単なリファレンスだけのようです。
◇Control Manager
 http://developer.apple.com/techpubs/carbon/HumanInterfaceToolbox/ControlManager/controlmanager.html

UniversalInterfaces3.4d8の「ControlDefinitions.h」も参考になりますが、この状況のままでは、ソースコードでも解析しないと使用法CarbonHeadersPCHを習得するのは困難です。非常に便利な機能だけに、早急なドキュメントの整備を望みたいと思います。

さて、Mac OS Xのパブリックβ版がリリースされるというのに、開発環境の方がα版やd版というのは寂しいかぎりです。加えて、v1.1 SDK付属の「Carbon 1.1 technote 7/18/00」を読んでみると、Mac OS Xには実装されていないCarbon APIがまだまだ大量にあるようです(涙)9月13日のMac OS Xパブリックβ版のリリースと同時に、アプリケーション開発環境の方にも大きな進展があることを期待したいと思います。

関連リンク:オッティモ
カテゴリ:Mac OS X, Carbon/CF, 小池邦人のプログラミング日記


REALbasic 3.0a7がリリース、Mac OS XではCarbon 1.1での利用

Mac OS Xでも利用できるREALbasicの新しいバージョン3.0のアルファ版のリリース7が公開されている。Mac OS Xで利用する上では、Carbon 1.1(正式にはリリースされていないバージョン)が必要となるのだが、これは、Mac OS XにはCarbon 1.1が搭載されることになるのではないかとも予測できる。リリース7では、テキストフィールドのメソッドが増えたり、あるいは実行時のオブジェクトの情報を得る機能が増えるなど、数多くの変更点がある。

関連リンク:REALbasic 3.0a7
カテゴリ:開発ツール, REALbasic


フレッツ・ISDNで認証がうまく行かない場合の対処方法

日本語での技術情報を提供するTech Info Library-Jにおいて、日本独自の情報として、フレッツ・ISDNに関する文書が公開されている。プロバイダに接続するときには、認証方式としてPAP(Password Authentication Protocol)とCHAP(Challenge Handshake Authentication Protocol)があり、リモートアクセスはCHAPで認証を行いうまくいかない場合にはPAPを利用する。NTT側の認証はCHAPを使うために問題はないが、プロバイダがPAPにしか対応していない場合には、プロバイダとの認証でエラーが出て接続できない場合が出てくる。その場合は、ダイアルアップルータ側の設定で、PAPを利用した認証を行うように設定を行うことで、問題は回避できる。

関連リンク:100410JO:Mac OS:「フレッツ・ISDN」を利用する場合の注意点
カテゴリ:Tech Info Library-J, ネットワーク


QuickTimeのアップデートがうまくいかないときの対処方法

日本語での技術情報を提供するTech Info Library-Jで、QuickTimeのアップデートがうまくいかない場合の対処方法が掲載されている。QuickTime Updaterをダブルクリックしてアップデートを行う場合などで、うまく行かない場合のメッセージについて紹介されている。うまくいかないときは、関連ファイルをすべて削除してから、QuickTime Installerをダウンロードして作業するように説明されている。

関連リンク:100409JO:QuickTime: QuickTime のアップデートが上手くいかない場合の対処法
カテゴリ:Tech Info Library-J, QuickTime


Pure JavaのMP3ストリーミングサーバのソースコードがサンプルとして公開

サンプルコードとして提供されている「JavaRadioStation」は、Javaだけで記述されたMP3のストリーミングサーバだ。サンプルプログラムのソースとしてはもちろんだが、実用性もありそうなサンプルだ。純粋Java作りになっているため、基本的にはWindowsやUNIXなどでも動作するだろうとしている。マルチスレッドを利用して、ネットワークサーバとして応答などを行う部分や、MP3ファイルの扱いの部分、あるいはバンド幅のコントロールなどがプログラムのハイライトと言えるだろう。MRJ 2.1以降で利用できるため、JDK 1.1レベルのJava VM対応ということになる。作成したのは、AppleのJava開発チームで、MRJのメーリングリストでも活発に発言をしているJens Alfke氏だ。

関連リンク:JavaRadioStation
カテゴリ:アップルからの開発資料, Java


USB Adapter Card Supportがアップデート

PCIカードやPCカードタイプのUSBインタフェースに必要な機能拡張の「USB Adapter Card Support」がアップデートされている。Mac OS 9ユーザはソフトウエア・アップデートを使ってアップデートすることができる。変更点については特に記載されていない。英語版ではあるが国際版なので、日本語OSでも基本的には問題ないものと思われる。

関連リンク:USB Adapter Card Support 1.4.1
カテゴリ:周辺機器, OS関連ソフトウエア