SET RESOURCE PROPERTIES

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

version 6.0


SET RESOURCE PROPERTIES (resType; resID; resAttr{; resFile})

引数説明
resType文字列4文字のリソースタイプ
resID数値リソースID番号
resAttr数値リソースの新しい属性
resFileDocRefリソースファイル参照番号、または
省略時、カレントリソースファイル

説明

SET RESOURCE PROPERTIES コマンドは、resTypeのタイプかつresIDのIDを持つリソースの属性を変更します。

resFileに有効なリソースファイル参照番号を渡すと、リソースはそのリソースファイル内でのみ検索されます。resFileを省略した場合、現在開かれているリソースファイル内で検索されます。

リソースが存在しない場合、SET RESOURCE PROPERTIESは何も行わずに、システム変数OKに0が設定されます。

resAttrに渡す数値は、ビットが特別の意味を持っているビットフィールド値として見る必要があります。下記は4Dによってあらかじめ用意されている定義済みの定数です:

定数
System heap resource mask倍長整数64
System heap resource bit倍長整数6
Purgeable resource mask倍長整数32
Purgeable resource bit倍長整数5
Locked resource mask倍長整数16
Locked resource bit倍長整数4
Protected resource mask倍長整数8
Protected resource bit倍長整数3
Preloaded resource mask倍長整数4
Preloaded resource bit倍長整数2
Changed resource mask倍長整数2
Changed resource bit倍長整数1

上記の定数を使って、任意のリソース属性を構築することができます。後述の例を参照してください。

リソース属性とその効果

・システムヒープ

この属性がセットされていると、リソースは4Dメモリではなくシステムメモリにロードされます。これを設定する意味をあなたが本当に理解しているのでなければ、この設定を有効にすべきではありません。

・パージ可能

この属性がセットされていると、リソースがロードされた後、他のデータのためにメモリスペースが必要になったと開き、メモリからリソースをパージできます。メモリの使用量を減らすため、すべてのカスタムリソースをパージ可能にしておくことが推奨されます。しかしセッションの間、そのリソースに頻繁にアクセスするような場合では、パージされたリソースをまたロードするためにディスクに周期的にアクセスするようなことを避けるため、パージ不可に設定しておきたい場合もあるでしょう。

・ロック

この属性が設定されていると、リソースはメモリにロードされた後、その場所を変更することはできません。ロックされたリソースはパージ可能に設定されていてもパージされません。リソースをロックすると、予期せぬメモリのフラグメントが発生することがあります。この属性を設定する意味を本当に理解していないのであれば、使用するべきではありません。

・保護

この属性が設定されていると、リソースの名前、ID、内容を変更することができなくなります。削除することもできません。しかしSET RESOURCE PROPERTIESを呼び出してこの属性をクリアすれば、リソースの変更や削除ができるようになります。ほとんどの場合、この属性は使用されません。この属性はWindowsでは効果ありません。

・プリロード

この属性が設定されていると、リソースファイルが開かれたときに、そのリソースは自動でメモリにロードされます。この属性はリソースファイルが開かれたときのリソースロードを最適化するために使用されます。ほとんどの場合、この属性は使用されません。

・Changed

この属性が設定されていると、リソースファイルが閉じられる際、そのリソースは自動でディスクに保存されるようマークが付けられます。4D コマンド SET RESOURCEは内部的にリソースの書き込みを管理するので、何が行われるのかを本当に理解しているのでなければ、この属性は使用するべきではありません。

通常はパージ可能を使用し、まれにプリロード保護を使用します。

警告: 4Dやシステムのリソースの属性を変更してはいけません。これを行うと予期しないエラーが発生することがあります。

例題

1. See 例題 for the コマンド Get resource name.

2. The following 例題 makes the resource 'STR#' ID=17000 purgeable, but leaves the other attributes unchanged:

   $vlResAttr:=Get resource properties ('STR#';17000;$vhResFile)
   SET RESOURCE PROPERTIES('STR#';17000;$vlResAttr ?+ Purgeable resource bit;$vhMyResFile)

3. The following 例題 makes the resource 'STR#' ID=17000 preloaded and non purgeable:

   SET RESOURCE PROPERTIES('STR#';17000;Preloaded resource mask;$vhResFile)

4. The following 例題 makes the resource 'STR#' ID=17000 preloaded but purgeable:

   SET RESOURCE PROPERTIES('STR#';17000;Preloaded resource mask+Purgeable resource mask;$vhResFile)

参照

SET RESOURCE NAME.

システム変数またはセット

The OK variable is set to 0 if the resource does not exist; otherwise, it is set to 1.


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