先にも述べたとおり、1 つの DCL ファイルに複数のダイアログ ボックス定義が含まれる可能性があります。ダイアログ ボックスを使用する次のステップは、表示するダイアログ ボックス定義の指定です。次に、そのコードを示します。
(if (and dialogLoaded (not (new_dialog "gp_mainDialog" dcl_id)) ) ;_ end of and (progn ;; There's a problem... (princ "\nCannot show dialog gp_mainDialog") (setq dialogShow nil) ) ;_ end of progn ) ;_ end of if
ダイアログがロードされたかどうか、および new_dialog が正常に呼び出されたかどうかをテストする and 関数の使い方に注目してください。 and 関数呼び出し内に、評価される複数の式がある場合、nil に評価された最初の式で、次の式の評価が終了します。この場合、フラグ dialogLoaded が nil(先のセクションのロード関数が失敗)だと、new_dialog 関数は実行されません。
DCL ファイルが正しく動作せず、変数 dialogShow が nil に設定される可能性があることにも注意してください。
new_dialog 関数は、ダイアログをメモリにロードするだけで、表示するわけではありません。start_dialog 関数が、ダイアログを表示します。タイルの値の設定、リスト ボックスのイメージやリストの作成、特定のタイルへのアクションの関連付けなど、ダイアログ ボックスのすべての初期化は、new_dialog を呼び出してから start_dialog を呼び出すまでの間に行わなければなりません。