同じ種類のコントロール間でスクリプトを切り替えるとエラーが発生する
2021/01/15
複数の同じ種類のコントロールが配置されているオブジェクト内で、イベントの戻り値が異なる同じ種類の別コントロールにスクリプトを切り替えるとエラーが発生する事象が報告されています。
Bug ID | 5608 | ||||||
---|---|---|---|---|---|---|---|
Product | PowerBuilder EN/JP | ||||||
ステータス | Appeon にて検証中 | ||||||
発生バージョン | EN | 12.6以前 | 2017 | 2017 R2 | 2017 R3 | 2019 | 2019 R2 |
JP | 12.6以前 | - | 2017 R2 | 2017 R3 | - | - |
※ :発生バージョン :解決済み、未発生 :未確認
詳細
スクリプトペインタでコントロールのユーザーイベントが表示されている状態から上部ドロップダウンなどでスクリプトの切り替えを行った際に、同じ種類の別のコントロールのユーザーイベントに切り替わったとき、切り替え前のユーザーイベントと「戻り値のデータ型」が異なる場合に “戻り値の定義と異なる型 xxxx を返そうとしました。” や “関数は値を返さなければなりません。” といったエラーメッセージが表示されます。
例えば、dw_1 に “ue_test” というイベント名で「戻り値のデータ型」が “String” のユーザーイベントと dw_2 に “ue_test2” というイベント名で「戻り値のデータ型」が “Long” のユーザーイベントが存在している場合に、スクリプトペインタでスクリプトを dw_1 から dw_2 に切り替えると “戻り値の定義と異なる型 long を返そうとしました。” というエラーが表示されます。
回避策
本不具合に関する回避策はありません。スクリプトペインタで同じ種類のコントロールのスクリプトへ切り替えを行う場合は、異なる種類のコントロールを経由して切り替えを行ってください。