• 締切済み

Application->Run();の機能について

Borland C++でApplication->Run();は どういう機能を持っているのですか? WinMain関数内で実行されますが、関数を実行した プログラムは、どこから始まるのですか? 後は、フォームからのイベント待ちになるのでしょうか?

みんなの回答

回答No.1

Application->Run()はメインフォームのメッセージループを開始します。 メッセージループでは、GetMessageを行い、メインフォームが閉じられない間、TranslateMessageとDispatchMessageを呼び続けます。 DispatchMessageでは、GetMessageで取ったメッセージに従い、フォーム上のコントロールのイベント処理ルーチンを呼び出します。 つまり「Application->Run()を呼ぶ=メッセージループする=フォームからのイベントを待つ」です。 メッセージループでメインフォームが閉じられると、メッセージループを終了し、Application->Run()から元に戻ります。 Application->Run()から元に戻れば、WinMainがreturn 0で終了し、ランタイムライブラリルーチンが後始末を行ったのち、アプリケーションが終了します。

すると、全ての回答が全文表示されます。

関連するQ&A