> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# FlexiLayout のビルド

> FlexiLayout をビルドして、適用またはエクスポートする前に、要素のプロパティ、ブロック参照、FlexiLayout language コードのエラーを確認します。

**FlexiLayout のビルド**とは、ABBYY FlexiLayout Studio が FlexiLayout をチェックし、検索領域、追加の検索条件、FlexiLayout ブロックのプロパティ、検索オブジェクトのパラメーターを含む要素のプロパティなどにあるエラーを検出する処理です。

<div id="what-the-building-process-checks">
  ## ビルド処理でチェックされる内容
</div>

FlexiLayout のビルドでは、要素のプロパティ、ブロックのプロパティ、および [FlexiLayout language](/ja/flexi-capture/fls/code/general-code) で記述された式が検証されます。

<div id="element-properties">
  ### 要素のプロパティ
</div>

[要素のプロパティ](/ja/flexi-capture/fls/template/elements-properties)およびその[検索条件](/ja/flexi-capture/fls/template/search-constraints)は、FlexiLayout ツリー内でその要素より上位にある要素にのみリンクできます。FlexiLayout Studio は、この要件を満たしていない要素をエラーとして強調表示します。

<div id="block-properties">
  ### ブロックのプロパティ
</div>

ブロックは、存在しない要素や[無効化された要素](/ja/flexi-capture/fls/template/exclude-element)を参照できません。

<div id="flexilayout-language-expressions">
  ### FlexiLayout language の式
</div>

**Advanced** タブでは、ビルド時に次の点がチェックされます。

* コードに構文エラーがないこと。
* [Advanced pre-search relations](/ja/flexi-capture/fls/template/advanced-pre-search) field に指定された追加の制約が、FlexiLayout ツリー 内で対象の要素より上に位置する要素のみを参照していること。
* [Advanced post-search relations](/ja/flexi-capture/fls/template/advanced-post-search) field に指定された追加の制約が、その要素自体と、FlexiLayout ツリー 内で対象の要素より上に位置する要素のみを参照していること。これら 2 つのルールに違反する要素は、FlexiLayout Studio によってエラーとして強調表示されます。
* コード内で使用されているすべての [グローバル定数](/ja/flexi-capture/fls/code/global-constant) が指定されていること。
* コード内で使用されているすべての変数が宣言および初期化されていること。
* コードが、対応するコードの sections で利用できる entities のみを参照していること。
* Block の Properties が要素の Region のみを参照していること。
* 特定の型の要素には、その型で利用できる Properties のみを指定できます。たとえば、**Static Text** 要素に **Max width** を指定することはできません。

<div id="build-a-flexilayout-manually">
  ## FlexiLayout を手動でビルドする
</div>

FlexiLayout のショートカットメニューで **Build FlexiLayout** をクリックします。

<h2 id="errors-tab">
  エラーおよび警告
</h2>

<Note>
  FlexiLayout は、画像への適用、保存、またはエクスポートを行う前に自動的にビルドされます。ビルド時にエラーが検出されると、エラーのあるブロックおよび要素には FlexiLayout ツリー 上で赤い X 印の付いたアイコンが表示され、該当する要素のプロパティダイアログにエラー情報を示す **Errors** タブが表示されます。
</Note>

**Errors** タブの通知には、赤または黄色のフラグが付きます。赤いフラグはエラーを、黄色のフラグは警告を示します。

要素またはブロックが 1 つでもエラーを出している場合、その FlexiLayout を画像に適用したりエクスポートしたりすることはできません。警告は、問題が生じる可能性のある型変換に注意を促すものにすぎず、FlexiLayout の画像への適用やエクスポートを妨げることはありません。

**Advanced** タブのコードが **Errors** タブの通知の原因となっている場合は、通知をダブルクリックすると、問題の原因となった operator にジャンプできます。
