4D v12.4SET RESOURCE PROPERTIES |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v12.4
SET RESOURCE PROPERTIES
|
SET RESOURCE PROPERTIES ( resType ; resID ; resAttr {; resFile} ) | ||||||||
引数 | 型 | 説明 | ||||||
resType | 文字 |
![]() |
4文字のリソースタイプ | |||||
resID | 倍長整数 |
![]() |
リソースID番号 | |||||
resAttr | 倍長整数 |
![]() |
リソースの新しい属性 | |||||
resFile | DocRef |
![]() |
リソースファイル参照番号、または 省略時、カレントリソースファイル | |||||
SET RESOURCE PROPERTIES コマンドは、resTypeのタイプかつresIDのIDを持つリソースの属性を変更します。
resFileに有効なリソースファイル参照番号を渡すと、リソースはそのリソースファイル内でのみ検索されます。resFileを省略した場合、現在開かれているリソースファイル内で検索されます。
リソースが存在しない場合、SET RESOURCE PROPERTIESは何も行わずに、システム変数OKに0が設定されます。
resAttrに渡す数値は、ビットが特別の意味を持っているビットフィールド値として見る必要があります。下記は4Dによってあらかじめ用意されている定義済みの定数です:
定数 | 型 | 値 |
Changed resource bit | 倍長整数 | 1 |
Changed resource mask | 倍長整数 | 2 |
Locked resource bit | 倍長整数 | 4 |
Locked resource mask | 倍長整数 | 16 |
Preloaded resource bit | 倍長整数 | 2 |
Preloaded resource mask | 倍長整数 | 4 |
Protected resource bit | 倍長整数 | 3 |
Protected resource mask | 倍長整数 | 8 |
Purgeable resource bit | 倍長整数 | 5 |
Purgeable resource mask | 倍長整数 | 32 |
System heap resource bit | 倍長整数 | 6 |
System heap resource mask | 倍長整数 | 64 |
上記の定数を使って、任意のリソース属性を構築することができます。後述の例を参照してください。
システムヒープ
この属性がセットされていると、リソースは4Dメモリではなくシステムメモリにロードされます。これを設定する意味をあなたが本当に理解しているのでなければ、この設定を有効にすべきではありません。
パージ可能
この属性がセットされていると、リソースがロードされた後、他のデータのためにメモリスペースが必要になったと開き、メモリからリソースをパージできます。メモリの使用量を減らすため、すべてのカスタムリソースをパージ可能にしておくことが推奨されます。しかしセッションの間、そのリソースに頻繁にアクセスするような場合では、パージされたリソースをまたロードするためにディスクに周期的にアクセスするようなことを避けるため、パージ不可に設定しておきたい場合もあるでしょう。
ロック
この属性が設定されていると、リソースはメモリにロードされた後、その場所を変更することはできません。ロックされたリソースはパージ可能に設定されていてもパージされません。リソースをロックすると、予期せぬメモリのフラグメントが発生することがあります。この属性を設定する意味を本当に理解していないのであれば、使用するべきではありません。
保護
この属性が設定されていると、リソースの名前、ID、内容を変更することができなくなります。削除することもできません。しかしSET RESOURCE PROPERTIESを呼び出してこの属性をクリアすれば、リソースの変更や削除ができるようになります。ほとんどの場合、この属性は使用されません。この属性はWindowsでは効果ありません。
プリロード
この属性が設定されていると、リソースファイルが開かれたときに、そのリソースは自動でメモリにロードされます。この属性はリソースファイルが開かれたときのリソースロードを最適化するために使用されます。ほとんどの場合、この属性は使用されません。
Changed
この属性が設定されていると、リソースファイルが閉じられる際、そのリソースは自動でディスクに保存されるようマークが付けられます。4D コマンド SET RESOURCEは内部的にリソースの書き込みを管理するので、何が行われるのかを本当に理解しているのでなければ、この属性は使用するべきではありません。
通常はパージ可能を使用し、まれにプリロードと保護を使用します。
警告: 4Dやシステムのリソースの属性を変更してはいけません。これを行うと予期しないエラーが発生することがあります。
コマンド Get resource nameの例題参照
以下の例題はリソース'STR#' ID=17000をパージ可能にします。他の属性は変更しません:
$vlResAttr:=Get resource properties('STR#';17000;$vhResFile)
SET RESOURCE PROPERTIES('STR#';17000;$vlResAttr ?+Purgeable resource bit;$vhMyResFile)
以下の例題はリソース'STR#' ID=17000をプリロード、およびパージ不可に設定します:
SET RESOURCE PROPERTIES('STR#';17000;Preloaded resource mask;$vhResFile)
以下の例題はリソース'STR#' ID=17000をプリロードでパージ可能に設定します:
SET RESOURCE PROPERTIES('STR#';17000;Preloaded resource mask+Purgeable resource mask;$vhResFile)
リソースが存在しなければOK変数は0に、そうでなければ1に設定されます。
プロダクト: 4D
テーマ: リソース
番号:
516
初出: 4D v6