■サイトマップ Search help


Biz/Browserに関する障害レポート


 8591 FlexViewからDialogを呼び出している時、Biz/Browserがフリーズすることがある  

対象バージョン Biz/Browser XE Ver4.2.1.1 〜 Biz/Browser XE Ver4.3.2.0

障害内容 Getメソッドにて、FlexViewの子オブジェクトとしてDialogを呼び出した状態で、GUI操作を行う
メソッドを実行すると、Biz/Browserがフリーズする事がある。

[スクリプト例]
○Form1.crs
  Form Form1 {
    Width = 400;
    Height = 300;
    FlexView FlexView1 {
      X = 6;
      Y = 8;
      Width = 202;
      Height = 92;
      FlexRecord FlexRecord1 {
        FlexButton FlexButton1 {
          Title = "Dialog起動";
          Value = "Dialog起動";
          Function OnPushed( e ) {
            /* FlexButtonが押下された際にダイアログを表示 */
            FlexView1.Get("Dialog1.crs");
          }
        }
        FlexLabel FlexLabel1;
      }
    }
    if ( !$DESIGNTIME ) {
      FlexView1.InsertRow(3);
    }
  }
○Dialog1.crs
  Dialog Dialog1 {
    Title = "Dialog1";
    Form Form1 {
      Width = 278;
      Height = 169;
      TextBox TextBox1 {
        X = 11;
        Y = 19;
        Width = 151;
        Height = 32;
      }
      TextBox TextBox2 {
        X = 11;
        Y = 59;
        Width = 151;
        Height = 32;
      }
    }
    if ( !$DESIGNTIME ) {
      /* TextBox2へフォーカスを移動 */
      Form1.TextBox2.SetFocus();
    }
  }

GUI操作を行うメソッドの例としては、SetFocus、MoveFocus、PopupMenu、SetCursor、ResetCursor、
RootオブジェクトのShowMenu、SetWindowState等がある。

要因 Dialog上でGUIを操作するようなメソッドを実行した際、親オブジェクトのFlexViewと
処理の競合が起こり、GUI操作を受け付けない状態となっていた。

対処方法
(方法1) Dialogをルートオブジェクト等、FlexView以外のオブジェクトへ接続する形で呼出しを行う。

[スクリプト例]
/* Dialogをルートオブジェクトから呼び出す */
//.Get("Dialog1.crs");

(方法2) 改修バージョンへのバージョンアップを行う。
   
改修バージョン

Biz/Browser V Ver 5.0.0.0


■ 障害レポート一覧へ