特権のエラー表示を回避する方法

特権が必要なアプレットを実行するときに、ユーザーは特権をつけ忘れてしまう場合が多くあります。
その際に、無機質な赤文字の警告をユーザーに見せることを回避する方法をお伝えします。
特権が付いているかどうかを判断するには

{process-privileged?}

を使います。
これを起動アプレット(多くの場合は start.curl だと思います。)のマニフェスト直下に置きます。以下に簡単な例を示します。

{curl 6.0 applet}
{curl-file-attributes character-encoding = “shift-jis”}
{applet
manifest = “manifest.mcurl”,
{compiler-directives careful? = true}
}
{value
{if not {process-privileged?} then
{popup-message “特権がありません!”}
{exit}
}

上記のように、特権が与えられていない場合の振る舞いの動作をアプリの最初の呼び出しの箇所で定義することで、赤い画面が表示されることが回避されます。

以下のサンプルで試してみてください。

(developers.curlap.com)に特権がついていない場合は、ダイアログが表示され、該当アプリは停止します。

サンプルアプリケーション

特権が必要なアプリケーション(start.curl)

特権が必要なアプリケーション(zip)