入力オプションに配列を記載することについて

こんにちは。現在、studioで下記手順に沿ってワークフロー ファイルを呼び出す演習問題用のロボットを作成しています。
下記手順のMain.xaml6の手順の入力オプションに配列を記載していたら画像のエラーが発生しております。配列の値にarray追記したり、修正していますが画像に記載されているエラーが発生している状態から変わりません。
式エディターに記載していますが、エラーが発生している状態から何が要因なのか分からない状態です。
お忙しいところ恐縮ですが、考えられる要因をご教示お願い致します。

〇指示された手順
Main.xaml

1

新しい [シーケンス (Sequence)] レイアウトのワークフローを作成します。
適切な名前、保存場所、説明を入力、設定します。

2

Double 型の 2 つの変数「DepositAmount」および「FinalEarning」を作成し、Int32 型の 3 つ目の変数「DepositPeriod」を作成して、既定値を「1」に設定します。

3

[シーケンス (Sequence)] の本体に、別の [シーケンス (Sequence)] アクティビティを追加し、表示名を「元本と預入期間を入力するシーケンス」に変更します。

4

内側の [シーケンス (Sequence)] に 2 つの [入力ダイアログ (Input Dialog)] アクティビティを追加し、その後に入力された預入金額と預入期間を記録する [メッセージをログ (Log Message)] アクティビティを追加します。

5

預入金額を入力するようユーザーに求める 1 つ目の入力ダイアログを設定し、出力を変数 DepositAmount に割り当てます。

6

ユーザーが預入期間を入力できるよう 2 つ目の入力ダイアログを設定します。
[入力の種類 (Input Type)] を [複数選択 (Multiple Choice)] に設定し、オプションの配列を「{“1”, “3”, “5”}」に設定します。
出力を変数 DepositPeriod に割り当てます。

7

新しいワークフローを作成するためには、[デザイン (DESIGN)] タブ > [新規 (New)] > [シーケンス (Sequence)] の順に選択し、「SimpleInterestCalculator」という名前を付け、場所が Main.xaml ファイルが存在する場所に設定されていることを確認します。
次に [作成 (Create)] をクリックします。

SimpleInterestCalculator.xaml

8

以下の引数を作成します。

  • Double 型で、方向が [入力 (In)] の「in_DepositAmount」
  • Double 型で、方向が [出力 (Out)] の「out_FinalEarning」
  • Int32 型で、方向が [入力 (In)] の「in_DepositPeriod」

9

「RatePerYear」という名前の Double 型の新しい変数を作成し、既定値を「1.75」に設定します。

10

[代入 (Assign)] アクティビティを追加し、「最終預金残高を代入」という表示名にします。

  • [左辺値 (To)] フィールドに「out_FinalEarning」を追加し、[右辺値 (Value)] フィールドの [式エディター(Expression Editor)]で以下の式を追加します。

in_DepositAmount * RatePerYear * in_DepositPeriod / 100

11

「最終預金残高が計算されました。」というメッセージが表示される、新しい [メッセージをログ (Log Message)] アクティビティを追加します。

12

SimpleInterestCalculator.xaml を保存します。

Main.xaml

13

Main ワークフローに戻り、新しい [シーケンス (Sequence)] を追加し、「利息計算シーケンス」という表示名に変更します。

14

[プロジェクト (Project)] タブを選択し、「SimpleInterestCalculator.xaml」というファイルを新たに追加したシーケンス内にドラッグします。
これによって、利子を計算する「SimpleInterestCalculator.xaml」のワークフローを呼び出します。

15

[引数をインポート (Import Arguments)] を選択し、左側にある各引数に関連付けられた値が割り当てられていることを確認します。
変数に類似した名前を付けているため、この割り当ては自動的に行われるはずです。
そうでない場合は、[値 (Value)] 列に対応する変数名を手動で追加します。

方向
in_DepositAmount 入力 Double DepositAmount
in_DepositPeriod 入力 Int32 DepositPeriod
out_FinalEarning 出力 Double FinalEarning

16

「利息計算シーケンス」の下に、期間終了時の累積利子と最終預金残高を画面に表示する [メッセージ ボックス (Message Box)] アクティビティを追加します。
式は次のようになります。

“期末の最終累積利息 " + DepositPeriod.ToString + “年間: $” + Math.Round(FinalEarning, 2).ToString + vbLf + vbLf + " 最終預金残高 " + DepositPeriod.ToString + " 年間: $” + Math.Round(FinalEarning + DepositAmount, 2).ToString

こんにちは

入力オプションプロパティを使用するときは

"1;3;5"

のように入力ください。

配列で受けることができるのは右側にあるプロパティパネル中のオプションプロパティになります。こちらを使う場合は

{"1","3","5"}

のように入力してみてください。

上記はアクティビティパッケージのバージョンが上がった際に入力オプションプロパティに機能が追加されたためになります。

教えていただきましてありがとうございます。
配列を入力する際に上記のように入力することを覚えていきます。

上記のように入力しまして無事に処理が進んで良かったです。
次に最後に表示される期末の最終累積利息と 最終預金残高の値が全て0になってしまっています。
再度設定した値や変数などを見直しているのですが、入力する預入金額を変更していっても0のままだったので困っています。
参考の課題の回答例を見ましたが処理のフローが少々異なる為、あまり参考になりませんでした。変数のRatePerYear⇒ 1.75、 Double 型の 2 つの変数「DepositAmount 」および「FinalEarning 」を作成し、Int32 型の 3 つ目の変数「DepositPeriod 」を作成して、既定値を「1 」を設定しました。他に設定が必要な値がございますでしょうか。

上記だけでは問題点がわかりませんので、デバッグの機能などを使って問題点を特定していく必要があります。

例えば、上記のワークフロー呼び出しアクティビティにブレイクポイントを設定して、デバッグ実行→このアクティビティで停止しますので、入力しようとしている値が想定通りかを左側のローカルパネルで確認する→問題なければF11でステップ実行しその先の処理が想定通りかを確認する

などを行う必要があるかと思います。

教えていただきましてありがとうございます。
デバック機能を利用し、入力した値が想定した値に代入されて
計算されていないことを確認致しました。
作成する際に設定した変数や引数を確認致しましたら、期末の最終累積利息と
最終預金残高の値を設定したシーケンスの変数として設定されており
メインシーケンスの変数ではなく、最終結果のシーケンスの変数として
動いていたため、全ての値が0になってしまうことを確認致しました。