火曜日のオンエアは聞いていただけたでしょうか? で、オンエアでMDOnlineのトップページへのアクセスが増えるかと思ったら、インターネットガーデンのホームページにはリンクは掲載されていません。実は、それもあって、一般向けのMDOnlineの紹介ページをちょっとリニューアルしました。もちろん、すでに読者の方にとっては新しい情報ではありませんが、まだお届けしていないシリーズについての予告もありますのでせっかくですから御覧ください。
◇Macintosh Developer Online
http://cserver.locus.co.jp/mdo.html
bestboyメールの件ですが、最初の「不法アクセス」メールを送った人が謝罪文を掲載していました。極めて適切な対処だと思います。そこには、アップルの責任者が岩手大学まで説明におもむいたと記述されています。これも適切な対処でさすがと思わせられます。トラブル対応は、まずは対応するというのが基本だと思いますし、顔を突き合わすというのは重要なことだと思います。いくら、ネットワークの時代だからと言っても、顔を合わせるという重要性はなくなりません。
◇「不法アクセス」メール誤信事故についての事実経過報告
http://news7s6.atm.iwate-u.ac.jp/news/20000627/web.html
(新居雅行 msyk@mdonline.jp)
バージョン管理ソフトウエアの「VOODOO(Versions Of Outdated Documents Organized Orthogonally)Ver.1.8.1v4J」の日本語版の価格が改定されて\9,800となった。K’s Roomのホームページよりオンラインで購入できる。CodeWarriorやBBEditなどで文書ファイルのバージョンを管理することができる。Ver.1.8.1Jでは、AppleScript対応などさまざな新機能を統合しているが、Ver.2.0としてクライアント/サーバ版も予定されているという。VOODOOは単独のアプリケーションで、書類の変更過程を残していくような形態での作業をサポートする。圧縮技術により、テキストファイルだけでなく、アプリケーション独自の書類ファイルも管理できる。毎日のバックアップを自動的に行うような用途にも使える。CodeWarriorやBBEditからは統合した環境でVOODOOを利用できる。
関連リンク:K’s Room
カテゴリ:ユーティリティ
ここではMetrowerks CとCarbon 1.0.4 SDKを使うことを前提に話しを進めていきます。必要なファイルは、すべてSDKの「Carbon Support」フォルダ内にあります。その中の「CarbonLib」フォルダ内「Stub」フォルダに、リンク用のStubファイル(APIエントリーポイントのみを含んだファイル)が入っています。まずは「CarbonLib」のみをMetrowerks CodeWarriorの以下のフォルダに入れます。すでに古いCarbonLibがあれば、それと差し替えることになります。
MacOS Support/Universal/Libraries/StubLibraries
Stubフォルダには、CarbonLib以外に「CarbonAccessors.o」と「LiteCarbonLib」の二つのファイルが存在しています。これは何のために存在しているのでしょうか?
最初のCarbonAccessors.oには、Carbonで利用されるアクセッサー関数(accesspr function)が含まれています。Carbon環境では、ToolBoxなどで定義されている構造体のメンバーに直接アクセスすることは許されていません。よって、そのかわりにアクセッサー関数を利用するわけです。例えば、Window Managerの「WindowRecord」構造体には「nextWindow」というメンバーが存在します。これをアクセスする場合には、今までのソースコードなら...
WindowPtr wptr1,wptr2;
wptr1=(WindowPtr)((WindowPeek)wptr2->newtWindow);
と記載するところを、アクセッサー関数を利用すると...
wptr1=GetNextWindow( wptr2 );
となります。
CarbonAccessors.oを、現在のプロジェクト(InterfaceLib使用プロジェクト)に加えて、構造体のメンバーに直接アクセスしている箇所を順次変更していけば、CarbonLibをリンクしなくてもCarbon化への第一歩を開始することができます。ソースの最初には以下の定義(コンデションマクロ)を表記して、アクセッサー関数のプロトタイプを利用可能にしておきます。
#define ACCESSOR_CALLS_ARE_FUNCTIONS 1
また、次の定義をすると、構造体のメンバーに直接アクセスしている箇所があれば、何らかの警告が出るようになります。
#define OPEQUE_TOOLBOX_STRUCTS 1
ちなみに、CarbonAccessors.oに関してはCarbon Porting Guide(4/19版PDF)のChapter 2のp28から、アクセッサー関数の一覧表は、Chapter 3のp59から記載されています。名前の横に黒丸が付いたアクセッサー関数は、Mac OS X DP3から追加された物です。よって、DP4ではもう少し増えているかもしれません。
ただし、最新OS機能を利用するために、プロジェクトにWndoesLibやMenusLibをリンクしていると、CarbonAccessors.oをリンクすることでいくつかのAPI定義が重なるようで、リンク時に以下のような警告が発生します。
まあ、無視してもよいのですが、ちょっと気持ちが悪いですね。何らかのコンデションマクロの定義で避けられるかもしれませんが(深く追求していない)出来上がったアプリに問題はありません。どちらにしろ、CarbonAccessors.oは一時的な物だということを心に留めておきましょう。ひょっとすると、プロジェクト内容によっては、直接CarbonLibをリンクしてアクセッサーに書き換える方が近道(?)かもしれません。
もうひとつのLiteCarbonLibの方は、現状のMac OS XにインプリメントされているCarbon APIのエントリーポイントのみを含んでいます。これをCarbonLibの代わりにリンクしてリンクエラーが発生したら、そのアプリは現状(DP3)のMac OS Xでは利用不可(起動はできるかもしれない)となります。当然、将来的にはLiteCarbonLibは無くなり、CarbonLibのみが提供されるはずです(でないと困る)。しかし現状では、かなりのAPIがインプリメントされていません。ちなみに、私のとあるプロジェクトにLiteCarbonLibをリンクすると、以下のようなエラーメッセージが表示されます。
なんのことはない、QuickTime関係のAPIがほとんどインプリメントされていないようですね。ただしDP4では上記の問題は解決されていると思われます。(多分、きっと、であってほしい)
予定していたCarbon用のPrefix File(MacHeadersファイル)の作り方や、Carbon用リソースの話は次回に回します。
関連リンク:オッティモ
カテゴリ:Carbon/CF, 小池邦人のプログラミング日記
Active Concepts社は、Webアクセスのログ解析などを行う「Funnel Web」のアップデート版Ver.4.0をリリースした。$399の通常版と、$1199のエンタープライズ版がある。Mac OSとWindowsで稼動する。ログ情報などからアクセスの解析を行いレポートを作成する。Ver.4.0ではインクリメンタル解析として差分情報を新たに追加する機能やPDF作成機能、バーチャルドメインの解析やストリーミングサーバのログ解析などの機能が新たに加わった。エンタープライズ版ではプロキシの解析やサーバ監視などの機能も利用できる。
関連リンク:Active Concepts
カテゴリ:サーバー関連
SoftQuad Software社は、XMLによるコンテンツ製作ソフト「XMetal 2.0」をリリースした。XMetalのバージョンアップ版で、価格は$495でサイトライセンスなども受け付ける。XMetalはXMLベースのコンテンツを編集することなどが行え、XML DTDやSGMLに対応している。ODBCデータベースからのデータ取込みも可能だ。ワープロ形式の編集画面、タグを表示する形式、さらにソースそのままの編集機能を提供する。スタイルシートのサポートもある。Ver.2.0では構造化された表示形式や、リモートDTDの対応などが追加されている。
関連リンク:SoftQuad Software
カテゴリ:オーサリング系
Tech Info Libraryに、AppleWorksに関する文書が掲載された。ただし、いずれも日本語版のユーザにはあまり関係がないと思われる。
◇AppleWorks: "Be sure to select "No gaps between pages" in Page Setup"
http://til.info.apple.com/techinfo.nsf/artnum/n31223
AppleWorksでLabels Assistantを使った時の注意点が掲載されている。ダイアログボックスに「Be sure to select "No gaps between pages" in Page Setup - Options (in the File menu).」と表示されるが、用紙設定ダイアログボックスにはその設定はない。これは、ImageWriterなどのフォームフィード式プリンタにあったオプションで、そうではないプリンタの場合は無視してかまわない。(なお、この機能は日本語版にはないものと思われる。)
◇AppleWorks 6: Using DataViz Translators
http://til.info.apple.com/techinfo.nsf/artnum/n88024
DataVizのMacLinkPlusのトランスレータはAppleWorks 6.0.4で正しく稼動するはずである。しかしながら、場合によってはトランスレータのキャッシュを再構築しないといけない。その手順が記載されている。
関連リンク:Tech Info Library
カテゴリ:Knowledge Base(旧TIL), アプリケーション