対象製品とバージョン
Forguncy 6.x
現象
本現象は、マシン環境によって発生する環境と発生しない環境が確認されています。
ボタンクリック時などに実行される1つのコマンド内に、複数のコマンドを設定している場合、「CSVインポート」コマンドや「Excelインポート」コマンドを使用していると、そのインポート処理が完了していないにも関わらず継続のコマンドが実行される場合があります。
Forguncyでは 「CSVインポート」や「Excelインポート」 をキャンセルしたかの判断に、マウスが移動したかどうかとフォーカスを取得する各イベントを一定間隔で取得して判断しています。マシン環境によっては、何らかの理由によってキャンセルしていないのにキャンセルした状態のイベントと同じ結果になり、Forguncyはインポート中にも関わらずキャンセルされたものと判断して継続コマンドを実行します。それによって本現象は発生します。
本現象は稀な環境でのみ発生する現象です。
回避方法
Forguncy 6は、通常サポート期間(製品の不具合を修正した修正版を提供する期間)が終了していますので修正はされません。
「CSVインポート」の場合は、以下のいずれかの回避方法を検討してください。
「Excelインポート」の場合は、1.を検討してください。
- 処理を分ける方法
「CSVインポート」や「Excelインポート」コマンドの後に、継続コマンドを記載しないようにしてください。
例えば、別のボタンを用意しておき、そのボタンで後続コマンドを行うなどのように、処理を分けてください。 - サーバーサイドコマンドで「CSVインポート」を行う方法
サーバーサイドコマンドで「CSVインポート」を行ってください。クライアント側からは、例えば、ボタンのクリックのコマンドで「サーバーサイドコマンドの呼び出し」コマンドで呼び出してインポートのみをサーバーサイドで行うようにしてください。
なお、「サーバーサイドコマンドの呼び出し」コマンドは、「連結データを最新の情報に更新する」にチェックをしておく必要があります。こうすることで、サーバーサイドコマンドの呼び出し後に、内部の連結データが更新されますので後続コマンドに「条件分岐」などが存在していても判定が正しく行われるようになります。
本ナレッジには、上記の実装内容と動作を確認できるプロジェクトを添付しています。
添付のプロジェクトは、6.0.43.0で作成していますので、6.0.43.0以降のForguncy Builderで開くことができます。
添付のCSVファイルを「c:¥csv」フォルダにコピーしてからデバッグ実行をしてください。
各コマンドの詳細は以下を参照してください。
[サーバーサイドコマンドの呼び出し]
[CSVインポート/エクスポート(サーバーサイド)]
文書種別
不具合
検索キーワード: fgcbug