クロスプラットフォームでOpen resource fileを使用する
日付 | 2009/06/15 |
---|---|
ID | 75792 (英語原文参照) |
バージョン | 11 |
プラットフォーム | Mac & Win |
Mac OSのファイルシステムは、旧来、ファイルの保存にデータフォークおよびリソースフォークを使用していました。一方、WindowsおよびUNIXオペレーションシステムは、単一フォークのデータファイルだけを認識します。そのような理由から、4DのOpen resource fileコマンド、およびリソースファイルの扱いには注意が必要です。WindowsでMac式にフォークされたリソースファイルをOpen resource fileで開こうとした場合、エラーコード199が返されるのはそのためです。
Mac OS XはUNIXオペレーションシステムですが、ユーザが特に意識しなくても、この違いを上手に吸収する仕組みになっています。Windowsは違います。Windowsに移動された場合、ファイルのリソースフォークは".__"から名前が始まるファイルとして表示されます。
Mac版4DのCreate resource fileコマンドは、デフォルトの動作として従来のMac OSリソースファイルを作成します。
$vhResFile:=Create resource file("MyPrefs";"rsr")
Windows版4Dは、同じコードを実行した場合、クロスプラットフォームのリソースファイルフォーマットを作成し、データフォークにリソースを書き込みます。Mac版との動作の違いを解決するためには、Mac版でも同じ動作をするよう、コマンドにアスタリスクを渡すようにして下さい。
$vhResFile:=Create resource file("MyPrefs";"rsr";*)
このようにすれば、いずれのプラットフォームでも、リソースはデータフォークに書き込まれ、クロスプラットフォームで扱うことができます。