電子書籍の厳選無料作品が豊富!

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

A 回答 (1件)

Application->Run()はメインフォームのメッセージループを開始します。



メッセージループでは、GetMessageを行い、メインフォームが閉じられない間、TranslateMessageとDispatchMessageを呼び続けます。

DispatchMessageでは、GetMessageで取ったメッセージに従い、フォーム上のコントロールのイベント処理ルーチンを呼び出します。

つまり「Application->Run()を呼ぶ=メッセージループする=フォームからのイベントを待つ」です。

メッセージループでメインフォームが閉じられると、メッセージループを終了し、Application->Run()から元に戻ります。

Application->Run()から元に戻れば、WinMainがreturn 0で終了し、ランタイムライブラリルーチンが後始末を行ったのち、アプリケーションが終了します。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!