2005年3月24日

ドラッグ&ドロップできないアプリ

MacOS Xになってから、ドラッグ&ドロップを受け付けないアプリケーションが増えたような気がします。例えばPhotoshopで作ったJPEGファイルは、通常ダブルクリックするとPhotoshopで開かれます。これを一時的に別のアプリケーション(例えばプレビューとかSafariとか)で開きたいときは、Finderでそのアプリのアイコン(Dock上のアイコンも可)にJPEGファイルをドラッグ&ドロップすると開くことができます。こういう操作って昔は常識だったと思いますが、最近はそういう使い方する人は減っているのでしょうか? フリーウェアなどを見ていると、それができないアプリが非常に多いです。わざわざメニューから“開く...”とか選んでやらなくてはならないのは、かなり面倒ですよね。

最近は他のプラットフォームから来た開発者の方も多いと思うので、こういう文化があることを知らないというケースもあるのでしょうか。それとも知っていても実装方法が分からない? 必須AppleEventに対応すれば(Macのアプリなら対応する義務がある)あとはドラッグ&ドロップを受け付けるようにアプリのリソースやプロパティリストを設定するだけなので、ぜひ対応して欲しいですね。

ただ、最近はアプリケーションを起動すると「開きたいファイルをここにドラッグしてください」みたいなウィンドウを出すようなアプリも多いですね。もはやそれが標準的なインターフェイスなのでしょうか? ま、StuffIt Expanderみたいに両方できるのがいちばんいいんでしょうけどね。

コメント (0)

2005年3月23日

CodeWarrior 終焉の時?

CodeWarriorのDesktop製品(Mac/Windows/Palm向けなど)の販売が終了されることになったようです。ついにこの日が来たなという感じですね。ただ、これが日本語版のみなのか英語版(というかオリジナル版)もそうなのかよく分かりません。本国のページにはリリースが出ていないようなので、そっちは残るんですかね? そこのところはっきりして欲しかったな。

思えばCodeWarriorはデベロッパーリリースの頃から使用していたので感慨深いです。もう10年にもなるんですね。その頃は年何回かCDが届く定期購読のようなシステムでしたが、新しいCDが届くとワクワクしながら内容をチェックしていたことを覚えています。私がいちばんプログラミングに熱中していた時期と重なるんですよね。

今後は徐々にXcodeに乗り換えていかなければなりませんね。私はPowerPlantを使っていたわけではないのでそれほど困りませんが、使ってた人はちょっと大変かな?(^^;)

コメント (0)

2005年3月16日

プロパティリストにバイナリデータを

MacOS Xにはアプリケーションの設定などをプロパティリスト(XML)に保存するためのAPIがあります。MacOS 9までは、この手の作業は自力でやらなくてはならなかったので、オフィシャルなやり方ができてとても便利になりました。ただ、これに定型以外のバイナリデータを保存する方法がずっと分かりませんでした。まあ、バイナリデータを保存したい場面はそれほど多くないのですが、ファイルやフォルダの位置を覚えておくために、エイリアスレコードを保存したいときがあるんですよね。

以前やろうとしたときは情報が見つけられなくて従来のやり方でやってしまったのですが、今日改めて探してみたところ、そのものズバリのテクニカルQ&Aが出てました。去年の10月ですか・・・。もっと早く出して欲しかった(^^;) ていうか、この辺のAPIって最初はまともなドキュメントすらなかったような気がするけどね。

最近はアップルの開発者向けの情報もRSSで配信されるようになったので、チェックするのが楽になりました。中身はともかく普段からサブジェクトくらいは目を通しておかないといけませんね。

コメント (0)

2005年3月15日

Installer VISE 文字化け

Installer VISE(現時点での最新バージョンは8.4)で日本語名のインストーラーを作成すると、MacOS Xのアプリケーションメニューのタイトル(つまりインストーラー名)が文字化けするという問題があるようです。例えば以下のような感じになります。


200503151.jpg


言語を設定するところはちゃんとJapaneseにしてるし、作成されたインストーラーの'vers'リソースや'plst'リソースも日本語の設定になっています。他に私が見落としている設定項目(やたらと多いんですよね)があるのかもしれませんが、どうしても見つけられなかったので、これはInstaller VISEのバグと判断し、最終手段としてビルドしたインストーラーに直接手を加えて解決することにしました(^^;)

調べてみると、どうやら'plst'リソースがShift JISで保存されているのが原因のようです。ここはUTF-8でなくてはなりません。これを直したところ、あっけなく解決しました。


200503152.jpg


ここまでしなくても、英語名でインストーラーを作って後からファイル名だけ日本語に変えたり(メニューは英語のままになる)'plst'リソースを削除しちゃったり(全く影響なし?)しても、実用上は問題ないんですけどね。技術者のこだわりということで(^^;)

実際、インストーラーをビルドするたびにこの作業をするのは面倒なので、暇があったらドラッグ&ドロップ一発で修正できるツールを作りたいと思ってます。でも、それより早くバグフィックスして欲しいけどね。

関連リンク
続・Installer VISE 文字化け (2005年04月07日)

コメント (2)

2005年2月 9日

Sentinelドングルのトラブル

仕事でSentinel Eve3というUSB接続のドングル(プロテクトキー)を使用するMacOS X用アプリケーションを作っているのですが、最近これでちょっとトラブルがあったので書いておきたいと思います。同じことで悩んでいる人もいるかもしれませんしね(^^;)

現象は「ドングルが接続されているにも関わらずエラーになることがある」というものです。いろいろ調べて以下の条件で発生することが分かりました。

・クラシック環境が(裏で)起動している
・アプリケーションを起動してしばらくすると発生する
 (つまり起動直後には発生しない)

クラシック環境が起動している場合は、処理に成功した場合でもチェックに時間がかかるようになり、数回に1回くらいの割合でエラーになります。

代理店経由で開発元に問い合わせてもらったのですが、最初の返答は「再現しない」というものでした。仕方ないので現象が再現する簡単なテストプログラムを作ってソースごと送りつけました。そうしたら次は「この手のデバイスは必ず成功するとは限らないので、何度かリトライしてください」とのこと(^^;)

最初は再現しない言ってたくせに、いつのまにかまるで仕様ですみたいな返答になってしまったのはちょっと不愉快ですが、仕方ないので言われたとおりリトライするようにしました。クラシック環境が起動してると時間がかかる件は解決しませんでしたが、しょうがないですね。将来ドライバが修正されることを期待します。

コメント (0)

2005年1月28日

FSMoveObject

CarbonアプリでFSMoveObject()を使うと、MacOS 9でクラッシュしてしまう現象が発生しています。クラシック環境では動くのに、MacOS 9でブートして実行するとだめなんです。同じシステムフォルダなのに(^^;)

私の実装が悪いという可能性もないとは言い切れないのですが、追求している時間がなかったので昔のFSpCatMove()を使うことで逃げました。ま、動作的にはそれで全然OKなんですが、問題なのはやはりMacOS 9でブートしたときだけ再現する不具合があるという点ですね。こういうのがある限り、まだまだMacOS 9でブート可能なマシンはテスト用として手放せません。G5を買って逆に面倒になった部分ですね(^^;)

それにしてもMacOS Xになってからファイルの扱いが面倒になりましたね。全部FSRefで済ませられることを期待してたら全然無理で、処理によっては従来どおりFSSpecを使わなくちゃならなかったり、新しいCFURLRefを使わなくちゃならなかったり、もう面倒。過渡期ということでしょうがないんですかね。

コメント (0)

2004年12月20日

ClassicアプリとDock

MacOS XのClassic環境でClassicアプリケーションを使っていると、そのアプリのウィンドウがDockの裏に隠れてしまって使いにくいときがあります。特にウィンドウのタイトルバーやサイズボックスが隠れてしまうと凄く面倒です。

せめて自作のアプリだけでも対応しようと思ったんですが、意外と方法がないですね。MacOS X用の(Carbonの)アプリではGetAvailableWindowPositioningBounds()を使ってDockの位置(正確にはDockを省いた矩形)が分かりますが、このAPIはClassicアプリからは呼べないみたいです。何か方法ありますかね?

でも、すべてのClassicアプリがちゃんとDockをよけてくれるのが理想ですよね。そういうふうにしちゃうソフトとか、ないかな?(^^;)

コメント (0)

2004年12月 9日

日経ソフトウェア

インターネットが普及してからコンピュータ関連の雑誌買うことがとても少なくなりました。たいていのことはネットで調べられますからね。そんな中で、私がただ1つ毎月買っている雑誌が日経ソフトウェアです。特にこの雑誌が良いと思って買っているわけではないのですが、プログラマ向けの雑誌を何か1つ読んでおきたかったんです。

この雑誌って企業の業務システムの開発とか、そっち方面の話が多いです。知らないことも多くて、読んでいると凄く不安になります(笑) まあ、危機感を覚えること自体、意味があるとも言えますが、私が普段やっている仕事にはあまり役に立ちません。もっとパッケージソフトの開発者などが読んで役に立つ雑誌があったら、そういうのも購読したいですね。オススメあったら教えてください。

コメント (0)

2004年11月22日

プラグインの魅力

最近、仕事でデータベースソフト 4th Dimension用のプラグインを作っています。こういった外部ルーチンのプログラミングって凄く楽しいですよね。プログラミングだけでなく、設計も楽しいです。今までにもHyperCardのXCMDやPhotoshopのフィルタプラグインなどを作ったことがありますが、どれも充実感がありました。クラシックMacOS時代の機能拡張やコントロールパネルなんかも似たような感じですね。

やはり、プラグインを作ることによって、本来できないことができるようになるというのが最大の魅力でしょうか。あと、プログラム自体もシンプルでコンパクトになるし、GUIを作らなくていい(必要なときもあるけど)のも楽で良いです(^^;)

コメント (0)

2004年9月 3日

アロハPC1

最近、仕事でアロハPC1というナンバー・ディスプレイアダプタを使ったアプリケーションを開発しています。これ、なかなか面白いです。これを電話回線とPCに接続しておくと、電話がかかってきたときにナンバーディスプレイで通知された電話番号がPCで取得できるのです。例えば、その番号で自動的に顧客データベースを検索したりする、いわゆるCTIシステムがローコストに構築できるわけです。

インターフェイスが今時RS-232Cなのがネックですが、開発は比較的容易です。試していませんが、MacでもUSB接続のシリアル変換機とか使えば動くかもしれません。まあ、欲を言えば最初からUSB接続で、WindowsとMacのドライバやSDKが用意されている機器があると嬉しいんですけどね。他のメーカーでもいいから出さないかな。

関連リンク
MacOS Xでシリアル通信 (2005年03月31日)

コメント (0)

2004年6月23日

LZW特許の失効

米Unisysの持つ悪名高き(?)LZW特許が、今月20日、ついに日本でも失効しました。この特許については個人的に腹立たしく思っていたので、ちょっと嬉しいですね。

アメリカでは1年前でしたが、これでほとんどの国で失効したことになるのでしょうか? もしそうなら、これを機会にQuickTimeの画像保存用API(Graphic Exporter)も、GIFやLZW圧縮のTIFFに対応して欲しいですね。確かImporterは対応してたけどExporterは対応してなかったよね?

コメント (0)

2004年6月 9日

Classic版シェアウェアのフリーウェア化

ここで公開しているClassic版のシェアウェアを、すべてフリーウェアにすることを検討しています。私自身もうClassic版をバージョンアップするつもりはないので、最終バージョンとしてまとめておこうかと。

作業としては、送金を促すメッセージを出ないようにして、ドキュメントを書き換えるだけなんですが、1つ困ったことがあります。もう68Kコンパイラがないのです(^^;) 正確には古いCodeWarriorのCD-ROMを探し出せばいいだけなので、ないわけではないのですが、最後に68Kコンパイラを搭載したCWってバージョンいくつでしたっけ? 全部のバージョンを調べると思うと、ちょっと嫌かも(^^;)


関連リンク
Classic版シェアウェアのフリーウェア化 その後 (2006年05月31日)

コメント (4)

2004年4月 9日

MacOS Xの起動項目

仕事で、あるアプリを起動項目にセットするプログラムを作りました。ネットを検索したりして方法を調べたところ、設定は ~/Library/Preferences/loginwindow.plist に記録されていて、これを書き換えるしかないようですね。こういったプロパティリストの読み書きのAPIは用意されているわけですが、それでもちょっと面倒です。

また、新しいアカウントを作った直後にこのloginwindow.plistがどうなっているか気になって調べたところ、どうもOSのバージョンによって微妙に違うようです。このファイル自体が存在しない場合もあるので、それも考慮しなければなりません。

それにしても、MacOS 9までのシンプルさに比べて、この分かりにくさはなんなんでしょう(^^;)

コメント (0)

2004年3月 9日

PackageMaker

先日、とあるドライバソフトのインストーラーを作る必要があって、初めてPackageMakerを使いました。こういうツールがOSに標準でついているというのは嬉しいですね。しかもこれ、作るのが驚くほど簡単です。なんの説明も読まずに、見様見真似で完成させることができました(^^;) やっぱアップルはこういうの作らせたらうまいですよねぇ。改めて感心しました。

コメント (2)

ページ: << < 1  2  3  4  5  6  7