Curl Global Community
applet 終了中にはサブアプレットを表示できない? - Printable Version

+- Curl Global Community (https://communities.curl.com)
+-- Forum: Discussions (https://communities.curl.com/forumdisplay.php?fid=1)
+--- Forum: General Curl questions (https://communities.curl.com/forumdisplay.php?fid=2)
+--- Thread: applet 終了中にはサブアプレットを表示できない? (/showthread.php?tid=853)



applet 終了中にはサブアプレットを表示できない? - umemura - 02-22-2013

register-exit-proc を利用して、アプリケーション終了時にスプラッシュスクリーンを表示しようと思ったのですが、
「Applet creation disallowed while exiting」というメッセージが表示されます。
おそらく、アプリケーション終了時にはスプラッシュスクリーンを表示することはできない、ということでしょうか。

Code:
{import * from CURL.ENGINE.BROWSER}
{do
    ||アプリケーション終了時にログアウト処理を登録する
    {register-exit-proc
        {fn =>
            def a = 0
            {try
                {SplashScreen.setup
                    title = "Existing Applet ...",
                    footer = "Test Example ..."
                }
                || indeterminateなプログレスバーを表示します。
                {SplashScreen.set-progress-bar-indeterminate}
                || 作業が終わるまで2秒必要と仮定しています。
                {sleep 2s}
                {SplashScreen.set-progress-bar  max = 10.0}
                {sleep 1s}
                || ループに入り、ループの中でスリープし、
                || なんらかの作業をしているような状態にします。
                let val:double = 0
                {for i = 0 below 50 do
                    set val = val + 0.2
                    {SplashScreen.set-progress-bar-value val}
                    {sleep 0.1s}
                }
                || 完了したので、スプラッシュスクリーンを破棄します。
                {SplashScreen.destroy}
             catch ex:Exception do
                {popup-message ex.message}
            }
        }
    }
}





RE: applet 終了中にはサブアプレットを表示できない? - umemura - 02-22-2013

上記の問題に関連して、
アプリケーションが終了しようとしているかどうか、というのは、どのように判断すればよいでしょうか。

AppletData のプロパティにそれっぽいものがありますが、
get-the-applet で取得できるのはApplet なので、AppletData は取得できないという認識です。

「現在のアプレットの動作状態」を取得する方法があれば教えてください。