Skip to main content

 

 

 

Template:OutSystems/Documentation_KB/Breadcrumb_New_Layout

 

 

Template:OutSystems/OSLanguageSwitcher

 

 

 

OutSystems

ComboBoxのソース識別子および変数の型の間のTrueChange検証

Service Studio 8.0.1.70、9.0.1.65、および9.1.501.0で、OutSystemsはコンボボックスでのランタイムの問題を回避するTrueChangeの型検証に対する修正を導入しました。

この変更に伴い、新しいService Studioを使用したときに一部のeSpaceで急にTrueChangeエラーが発生しており、これに関して一部のユーザーから質問がありました。この記事は、この修正の内容、ユーザーにメリットをもたらす理由、これらの新しいエラーの修正方法について説明するために作成されました

背景

この修正以前は、リストの要素の型に対する変数の型の検証がTrueChangeで適切に行われていませんでした。

このバグは、プロパティを順番に指定する必要があるというComboBoxウィジェットの複雑さが原因で発生していました。たとえば、リストの定義は、LabelアトリビュートやIdentifierアトリビュートよりも先に行う必要があります。このプロセスの最後で、変数が適切に検証されませんでした。

修正の理由

TrueChangeエンジンはOutSystemsプラットフォームの強みの1つであり、このエンジンで様々なオブジェクトの型と使用方法をしっかりと検証することにより、実行時のエラーを避けることができます。TrueChangeでエラーがないと実行時エラーは発生しないため、開発者は安心してパブリッシュを実行できます。

このため、実行されない検証があると、たとえ一部のシナリオでは実行時エラーが発生しなかったとしても、eSpaceにTrueChangeエラーがないときの開発者の安心感が大きく損なわれることになります。

修正の内容

この問題を解消するため、ComboBoxの識別子アトリビュートとその値を保存する変数を指定した後、それらの型が検証され、識別子の型の値がComboBoxの変数の型の値に(実行時エラーが発生することなく)安全に保存されることが保証されます。これらの型が一致していない場合は、TrueChangeのエラーが発生します。

 

エラーが発生する理由

このエラーが発生する最も一般的な原因は、Text型の識別子をInteger型またはInteger型識別子の変数に割り当てようとしている場合です。


TrueChangeのエラーの修正方法

識別子アトリビュートがText型で変数が数値型の場合、識別子の型を数値型に変更します。

以下のシナリオについて考えてみます。

  • リストの型:

  • 変数の型:

  • ComboBoxのプロパティ

 

解決するには、以下の手順を実行します。

1. リストのIDの型を数値型に変更します。

2. 識別子アトリビュートをリセットします。

3. エラーが解消されます。