4D-jp 4D Japan Technical Support Team

Apple Event ManagerとMESSAGE

2019-09-06

On System Eventは,アプリケーションが最前面から移動したときなどに発生するデータベースイベントです。On System Eventデータベースメソッドが存在する場合,システムイベントを監視するためにウィンドウを表示しない常駐プロセスが作成されます。このプロセスでMESSAGEコマンドを実行した場合,「Apple Event Manager」ウィンドウが表示され,閉じることができません。これは仕様です。なお,「Apple」という名称は歴史的な経緯によるものであり,オペレーションシステムとは無関係です。

MESSAGEを使用する場合,明示的にウィンドウを作成することが推奨されています。ウィンドウを作成せずにMESSAGEを使用した場合,カレントプロセスの非表示ウィンドウが暗黙的に使用され,プロセスが消滅すると同時にそのウィンドウが閉じられます。それが常駐プロセスだった場合,プロセスとMESSAGEコマンドは互いに相手が終了するまで待機することになり,ウィンドウ/プロセスを閉じることができません。

MESSAGEコマンドを使用していないのにも関わらず「Apple Event Manager」ウィンドウが表示される場合,空のOn System Eventデータベースメソッドが存在する可能性があります。システムイベントを監視する必要がある場合,イベント処理ループがブロックしないよう,新規プロセスを作成することができます。


関連記事

リンク