バインディングのトラブルシューティング

ここでは、バインディングにエラーがある場合に Binding Editor が表示するエラーメッセージを見つけることができます。バインディング式リファレンス を参照してください。

エラー

問題

解決策

構文エラーによりバインディング式を解析できません

../../_images/syntax-error-message.png

Kanzi は、構文エラーが含まれているため、バインディング式を解析できません。

たとえば、上記のバインディング式では、関数のパラメーターがコンマで区切られていません。

../../_images/syntax-error-message-fixed.png

max() 関数のパラメーターはカンマで区切る必要があります。最大 (maximum) を参照してください。

変数を使用するには、その前に変数に値を代入してください。

../../_images/identifier-error-message.png

バインディング式に、値が代入されていない変数が含まれています。

たとえば、上記のバインディング式では、変数 k が定義されていません。

../../_images/identifier-error-fixed.png

変数 k に値を割り当てます。

無効な引数です

../../_images/invalid-argument-error-message.png

バインディング式の関数に含まれるパラメーターの数が多すぎます。

たとえば、上記のバインディング式では、pow() 関数には3つのパラメータがあります。

../../_images/invalid-argument-fixed.png

pow() 関数は2つのパラメータを取ります。pow(べき乗) を参照してください。

この操作には無効なデータ型の引数です

../../_images/invalid-argument-data-type-error.png

バインディング式に含まれる関数に、サポート対象外のデータ型のパラメーターが使用されています。

たとえば、上記のバインディング式では、rotateX() 関数のパラメーターは両方とも整数です。

../../_images/invalid-argument-data-type-fixed.png

rotateX() 関数は、最初のパラメータとしてプロパティのプロパティフィールドを取り、2番目のパラメータとして整数を取ります。RotateX を参照してください。

このプロパティには無効なプロパティフィールドが属性として使用されています

../../_images/invalid-attribute-error.png

バインディング式のプロパティで無効なプロパティフィールドが使用されています。

例えば、上記のバインディング式では、Translation は Layout Transformation プロパティの定義されたプロパティフィールドではありません。

../../_images/invalid-attribute-fixed.png

Layout Transformation プロパティの Translation X、Translation Y、または Translation Z プロパティフィールドを使用します。変換プロパティフィールドバインディング を参照してください。

結果のデータ型が無効です

../../_images/invalid-result-data-type-error.png

バインディング式に含まれる関数が返すデータ型が、ターゲットプロパティのデータ型と一致していません。

例えば、上記のバインディング式では、createRotationX() 関数がクォータニオンデータ型を返す一方で、ターゲットプロパティは文字列、整数、浮動小数点数、およびブールデータ型をサポートしています。CreateRotationX を参照してください。

../../_images/invalid-result-data-type-fixed.png

Binding Editor セット内で:

  • バインディング式の関数が返すデータ型をサポートするプロパティフィールドを持つターゲットプロパティに Property します。

  • Property Field を、バインディング式の関数が返すデータ型をサポートするターゲットプロパティのプロパティフィールドに設定します。

例えば、クォータニオンデータ型を使用するには、ROTATION に設定します。

この操作は有効なバインディング操作ではありません

../../_images/invalid-operation-error.png

バインディング式に含まれる関数は存在しません。

たとえば、mx() という関数はありません。

../../_images/invalid-operation-fixed.png

既存の関数を使用します。関数 を参照してください。

ターゲットプロパティタイプを設定してください

../../_images/null-target-property-error.png

バインディングのターゲットプロパティタイプが定義されていません。

たとえば、上記のバインディング式では、ターゲットプロパティが設定されていません。

../../_images/null-target-property-fixed.png

Binding Editor で、バインドしたいプロパティに Property を設定します。

アイテムが見つかりません

../../_images/node-not-found-error.png

バインディングでプロジェクト内のノードまたはプロパティのタイプを参照しようとしていますが、そのノードまたはプロパティタイプが見つかりせん。

たとえば、上記のバインディング式では、Slider 3D ノードへの相対パスが正しくありません。

../../_images/node-not-found-fixed.png

ノードまたはプロパティタイプの相対パスが正しい場所を指すようにします。

ヒント

バインディング式でノードへのパスの前に @ 記号を使用すると、Kanzi Studio:

  • パスが有効かどうかを確認し、パスが有効でない場合は Binding Editor にエラーメッセージを表示します。

  • ノードツリー内のソースノードとターゲットノード間の位置が変わるたびに、バインディング式のパスを更新します。

@ 記号を使用すると、同じプレハブ内でのみバインディングを作成でき、プレハブ間では作成できません。

バインディング式でターゲットプロパティを使用できません

../../_images/getcurrentvalue-error-1.png ../../_images/getcurrentvalue-error-2.png

プロパティの現在の値を変更しようとするバインディング式は、ターゲットプロパティを使用します。

例えば、上記のバインディング式は、ノードの Layout Width プロパティと Render Transformation プロパティの値を変更しようとします。

../../_images/getcurrentvalue-fixed-1.png ../../_images/getcurrentvalue-fixed-2.png

ターゲットプロパティの現在の値を変更するバインディング式では、getCurrentValue() 関数を使用して値を取得します。getCurrentValue を参照してください。

関連項目

バインディング式リファレンス

バインディングの使用