ダイアログ ボックスがアクティブなとき、つまり start_dialog が呼び出されているときは、AutoCAD のコマンド行でユーザ入力を要求する関数や、ダイアログ ボックスの外側(たとえば、AutoCAD のグラフィックス ウィンドウ)での表示に影響を与える関数を呼び出すことはできません。この制約は、print、princ、prin1 などの文字を出力する関数にも当てはまります。
ユーザ入力を要求するオプションを使用しなければ、ssget を呼び出すことはできます。プログラムが start_dialog から done_dialog までの間に制約を受ける関数を呼び出すと、すべてのダイアログ ボックスが閉じ、次のエラー メッセージが表示されます。
AutoCAD が関数を拒否しました
システム変数 CMDACTIVE を使用すると、ダイアログ ボックスがアクティブかどうかを調べることができます。CMDACTIVE の値が 7 よりも大きい場合は、ダイアログ ボックスはアクティブです。システム変数 CMDACTIVE にはコマンド、スクリプト、およびダイアログ ボックスの状態(アクティブ/非アクティブ)を示すビット コード値が格納されています。
term_dialog 関数は、ユーザがそれぞれのダイアログ ボックスをキャンセルした場合と同じように、現在のすべてのダイアログ ボックスを終了させます。この関数を使用すると、一連のネストしたダイアログ ボックスを一度にキャンセルできます。