Open resource file

4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次

version 2004 (Modified)


Open resource file (resFilename{; fileType}) DocRef

引数説明
resFilename文字列リソースファイルのファイル名またはフルパス名, または
空の文字列を指定するとファイルを開くダイアログボックスを表示
fileType文字列Mac OSファイルタイプ (4文字)、または
Windowsファイル拡張子(1から3文字)、または
省略時、すべてのファイル
戻り値DocRefリソースファイル参照番号

説明

Open resource file コマンドは、resFileNameに渡した名前またはパス名を持つリソースファイルを開きます。

ファイル名を渡す場合、そのファイルはデータベースのストラクチャファイルと同階層に配置されていなければなりません。他のフォルダ内に配置されているリソースを開くには、フルパス名を渡します。

resFileNameに空の文字列を渡すと、ファイルを開くダイアログボックスが表示されます。このダイアログボックスでリソースファイルを選択し、開くことができます。ダイアログボックスを取り消すと、リソースファイルは開かれません。この場合、Open resource fileはヌルのDocRefを返し、システム変数OKに0を設定します。

デフォルトで、コマンドは引数に渡されたファイルのリソースフォークを開きます。フォークが空の場合、コマンドはそのファイルのデータフォークを開き、そこで見つかるリソースにアクセスします。詳細はリソースの節を参照してください。

リソースファイルが正常に開かれると、Open resource fileはそのリソースファイル参照番号を返し、システム変数OKに1を設定します。リソースファイルが存在しない場合や開こうとしているファイルがリソースファイルではない場合、エラーが生成されます。

Macintosh上でファイルを開くダイアログボックスを使用する場合、デフォルトですべてのファイルが表示されます。特定タイプのファイルを表示するには、オプション引数fileTypeにそのファイルタイプを指定します。

Windows上でファイルを開くダイアログボックスを使用する場合、デフォルトですべてのファイルが表示されます。ファイルの特定タイプを表示するには、1から3文字のWindowsファイル拡張子またはMAP FILE TYPESコマンドを使ってマップされた任意のMacintoshファイルタイプをオプション引数fileTypeに渡します。

リソースファイルを使い終わったら、CLOSE RESOURCE FILEコマンドの呼び出しを忘れないでください。ただし、アプリケーションを終了する (または他のデータベースを開く) 場合は、Open resource fileCreate resource fileを使って開かれたすべてのリソースファイルを4Dが自動的に閉じます。

デフォルトで排他的に読み書きモードでファイルを開くOpen documentコマンドと違って、Open resource fileは4Dセッション内で既に開かれているリソースファイルを開くことを妨げません。例えばOpen documentを使って同じドキュメントを2度開こうとすると、2度目を開く時にI/Oエラーが返されます。これに対して、4Dセッション内で既に開かれているリソースファイルを開こうとすると、Open resource fileは既に開いているファイルのリソースファイル参照番号を返します。何度かリソースファイルを開いても、そのリソースファイルを閉じるには1回だけCLOSE RESOURCE FILEを呼び出すだけで済みます。このことは、4Dセッション内でリソースファイルが開かれる場合にのみ有効である点に注意してください。他のアプリケーションで既に開かれているリソースファイルを開こうとすると、I/Oエラーが発生します。

警告

・4Dアプリケーションや、4D Desktopをマージしたアプリケーションのリソースファイルへのアクセスは禁止されています。

・技術的には可能ですが、コンパイルされたり4D Desktopをマージしたデータベースではプログラムコードは動作しなくなるので、データベースストラクチャリソースファイルは使用しないことをお勧めします。

しかしながら、プログラムをしようしてこのリソースにアクセスし、追加・削除・変更をするつもりなら、ご使用になる動作環境で必ずテストしてください。 4D Server上では重大な問題に通じるでしょう。 例えばサーバマシン上で (データベースメソッドかストアドプロシージャを使用して) リソースを変更すると、透過的にワークステーションにリソースを分配する4D Serverの管理サービスに確実に影響するでしょう。 4D Clientではストラクチャファイルに直接アクセスする手段を持っていないことに注意してください。ストラクチャファイルは、サーバマシンにあるからです。

・この理由により、リソースを使用する場合、そのリソースは自身のファイルに格納してください。

・独自のリソースを使って作業する場合、負数のリソースIDを使用してはいけません。これはオペレーションシステムで使用されるために予約されています。また0から14999の範囲のリソースIDを使用してもいけません。この範囲は、4Dで使用されるために予約されている番号です。カスタムリソースには15,000から32,767の範囲の番号を使用してください。あるリソースファイルを開くと、そのファイルがリソースチェーン内で検索される最初のファイルとなることを覚えておいてください。システムまたは4Dリソースの範囲内のIDを持つリソースをそのファイルに格納すると、GET RESOURCEコマンドや4Dの内部ルーチンはそのリソースを見つけます。これが目的とする結果かもしれませんが、もしそうでない場合は、システムエラーを引き起こすかもしれないため、この範囲の値を使用してはいけません。

・リソースファイルは高度に構造化されたファイルで、1ファイル当たり2,700を超えるリソースを許可しません。数多くのリソースを含んでいるリソースファイルで作業する場合、そのリソースファイルに新しいリソースを追加する前にそのリソースの数を調べるべきです。これについては、RESOURCE TYPE LISTの例題のCount resourcesを参考にしてください。

リソースファイルを開くと、RESOURCE TYPE LISTRESOURCE LISTを使って、そのファイルの内容を解析できます。

例題

1. Windows上で、以下の例はデータベースフォルダに配置された“MyPrefs.res”リソースファイルを開きます:

   $vhResFile:=Open resource file("MyPrefs";"res ")
   

Macintosh上で、この例は“MyPrefs”ファイルを開きます。

2. Windows上で、以下の例はデータベースフォルダに配置された“MyPrefs.rsr”リソースファイルを開きます:

   $vhResFile:=Open resource file("MyPrefs";"rsr")

Macintosh上で、この例は“MyPrefs”ファイルを開きます。


3. 以下の例は、すべてのファイルタイプを表示するファイルを開くダイアログボックスを表示します:

   $vhResFile:=Open resource file("")

4. 以下の例は、デフォルトファイルタイプを使ってCreate resource fileコマンドで作成されたファイルを表示するファイルを開くダイアログボックスを表示します:

   $vhResFile:=Open resource file("";"res ")
   If (OK=1)
      ALERT("You just opened "+Document+”.")
      CLOSE RESOURCE FILE($vhResFile)
   End if

参照

CLOSE RESOURCE FILE, Create resource file, リソース.

システム変数とセット

リソースファイルが正常に開かれた場合、システム変数OKに1を設定します。リソースファイルが開くことができなかったり、ユーザがファイルを開くダイアログボックスのキャンセルをクリックした場合は、システム変数OKに0が設定されます。

リソースファイルがファイルを開くダイアログボックスを使って正常に開かれた場合、システム変数Documentにそのリソースファイルのパス名を設定します。

エラー処理

リソースファイルまたはI/Oの問題でリソースを開くことができなかった場合、エラーが生成されます。ON ERR CALLコマンドを使ってインストールされたエラー処理メソッドでこのエラーを受け取ることができます。


4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次