« MacBook バッテリー交換 | メイン | F1 ウィリアムズがトヨタと決別 »

2009年10月14日

WeblocToURLのSnow Leopardでの動作について その2

カテゴリー: プログラミング

9日の日記のその後です。あれから暇を見つけては調べているのですが、まだ原因が分かりません。分からないというか、これはOS側の問題で私のプログラムのせいじゃないのではないかという思いが日に日に強まっています(^^;)

根拠もなくそう言っているわけではありません。実は、同じような現象が出るアプリケーションが、他にもたくさんあるのです。例えばバイナリエディタのHexEditや、テキストエディタのmiKEdit等で試しても、やはりブラウザで開かれてしまいます。.webloc以外のファイルは正常に開けるので、Finderがイベントを横取りしてしまっているのかもしれません。

また、おかしくなるのはFinder上のアイコンにドラッグ&ドロップした場合(コンテクストメニュー含む)で、Dock上のアイコンにドラッグ&ドロップした場合は問題ありません。したがってWeblocToURLの場合も、アイコンをDockに登録しておいて、そこにドラッグ&ドロップすれば、正常に使用できます。

もしFinderの問題だとすれば、こちらで対処するのはかなり難しくなりますが、明らかにおかしな動作なので、今後OSのバージョンアップで修正される可能性はあるかもしれません。


ちなみに、発生条件として1つ面白いことに気づきました。ブラウザで.weblocファイルを作成すると、そのファイルには'drag'リソース(128番)が含まれています。これをリソースエディタで削除すると、なんと正常に開けるようになるのです。このリソースが何らかの影響を与えているのかもしれません。これって何のためのリソースなんですかね?



コメント

weblocファイルからurlファイルへの変換に困ってましたが、上記のアプリケーションで現在、変換してます。ソースコード付きなので参考になさってください。

投稿者 imaicom : 2010年11月14日 11:00

参考URLが怪しくなってしまいました。こちらです。
http://www.markdouma.com/developer/WeblocFinagler.zip

投稿者 imaicom : 2010年11月14日 11:01

ありがとうございます。さっそく試してみましたが、このアプリも同じ問題を抱えていますね。Finderアイコンへのドラッグ&ドロップでは変換できず、ブラウザで開かれてしまいます。

ただ、このアプリにはウィンドウがあって、そこへのドラッグで変換できるので、そちらを使えばOKのようです。私のソフトもこうするしかないのかもしれませんね。

というか、素直にこのソフトを使ってもらったほうが早いですね(^^;)

投稿者 浅利 : 2010年11月14日 12:57

その他、気がついたことを書いておきます。weblocファイルには2種類の書き方があります。1つ目はリソースフォークのみのファイル、2つ目はデータフォークのみのファイルです。

リソースフォークのみのファイルはMacOS 10.4〜10.5の当りで作成されたものだと思います。最近のMacOS 10.6+Safariなどで作成されたファイルはデータフォークのみです。

どちらも見かけは同じアイコンなので、間違えやすいです。変換可能なのはデータフォークのみのファイルのみとなっていました。

投稿者 imaicom : 2010年11月14日 23:05

test.weblocファイルが有ったとしてコマンドで中身を見るには次のようにターミナルでタイプします。

(データフォーク )more test.webloc
(リソースフォーク)more test.webloc/rsrc

投稿者 imaicom : 2010年11月14日 23:09

確認してみましたが、10.6のSafariで作られたファイルも両方にデータがあるようですよ? Resorcererで確認しました。

私のプログラムはリソースフォークのほうを変換していたはずなので、もし何らかの理由でデータフォークのみになってしまったファイルがあったとしたら、変換できませんね。

投稿者 浅利 : 2010年11月14日 23:51

よろしければコメントしてください。

※メールアドレス以外の項目はこのページ上に公開されます。個人情報などの入力にはご注意ください。




保存しますか?


「投稿」ボタンを押してから書き込み完了までに多少時間がかかる場合があります。ご了承ください。