日付 | 0000/00/00 |
---|
On Startupデータベースメソッドは, 4Dの主要なアプリケーションプロセス(ユーザーモードと同じプロセス)が起動した直後に実行するべきコードを記述する場所です。アプリケーションのスタートアップは, このデータベースメソッドの終了をもって完了し, 正常な動作に移行します。したがって, DIALOGやMODIFY SELECTION, ADD RECORDなどのダイアログ待ちコマンドをOn Startupデータベースメソッドに記述するべきではありません。特にバージョン11.7以降, そのようなプログラムは挙動が不安定になったり, デザインモードに切り替えた途端にクラッシュするようなケースも報告されています。
起動時にダイアログを表示するのであれば, On Startupで新規プロセスを開始し, アプリケーションプロセス以外のユーザープロセスでDIALOGやMODIFY SELECTION, ADD RECORDなどのダイアログ待ちコマンドを実行するようにしてください。
なお, クラッシュが報告されたケースの詳細は次のとおりです。On Startupで新規プロセスを起動し, そのプロセスがPlain Windowでダイアログを表示した後, On Startupはダイアログを表示し, 自身もイベント待機を開始します。後に表示されたウィンドウ(アプリケーションプロセス)を閉じるとアプリケーションが不規則な仕方でクラッシュすることがありました。2枚目のダイアログを新規プロセスで表示し, On Startupが完了するように変更したところ, クラッシュの問題は完全になくなりました。