# ENV_SetResourceSetArray

## 構文

      #include <nitro/env.h>

      void ENV_SetResourceSetArray( ENVResource* array[] );

## 引数

array | リソース配列の配列へのポインタ

## 返り値

なし。

## 説明

リソース検索に使用するリソース配列を設定します。

それまでに設定していたリソース配列は全てサーチ対象から外され、ここで指定したもののみになります。

関数内では、array で指定する配列先頭のリソース配列を `ENV_SetResourceSet()` で設定し、 以降のリソース配列を NULL に出会うまで、`ENV_AppendResourceSet()` で追加しています。array の最後は NULL で閉じてください。

リソース配列の指定については、`ENV_SetResourceSet()` を参照してください。

本関数は `ENV_Init()` から呼び出されています。その際に

> `SDK_WEAK_SYMBOL ENVResource *resourceArray[] = { NULL };
> void ENV_Init(void)
> {
> ：
> ENV_SetResourceSetArray( resourceArray );
> }`

というように、WEAK シンボルで定義された `resourceArray` に対して初期化を行っています。`ENV_Init()` は `OS_Init()` から呼ばれますので、アプリ側では独自の `resourceArray` を定義するだけでよいということになります。

> (例)
> ユーザプログラム では、
> `ENVResource myResource[] = {
> "test.member", ENV_U32(100),
> ENV_RESOURCE_END
> };
> ENVResource resourceArray[] = { myResource, NULL };`
> このように定義するだけ。

もちろんその後に、別のリソース配列を指定しても構いません。

> (例)
> `ENV_SetResourceSetArray( anotherResourceArray );`
> このようにすると、最初に宣言された resourceArray ではなく、新たに設定したものが使われる。

## 参照

`ENV_Init
` `ENV_SetResourceSet, ENV_AppendResourceSet`

## 履歴

2009/06/03 `OS_Init()` が必須になったための記述修正
2008/12/19 例を追加
2005/10/07 初版