プロシージャ

プロシージャとは



プロシージャ(procedure)とは、コンピュータプログラミングにおいて、複数の処理をひとまとめにし、呼び出し可能にしたものです。日本語では「手続き」と訳されます。プロシージャは、一連の処理を意味のあるまとまりとして定義することで、プログラムの再利用性を高め、同じ処理を何度も記述する手間を省きます。これにより、プログラムの保守や管理が容易になります。

プロシージャは、繰り返し利用されることからルーチン(routine)とも呼ばれます。プログラムの実行は、通常、階層構造をなしており、プログラム全体の開始点を含むルーチンをメインルーチン(メインプログラム)、そこから呼び出されるルーチンをサブルーチン(サブプログラム)といいます。プログラミング言語によっては、プロシージャは関数(function)と呼ばれることもあります。

プロシージャの構文や分類、呼称はプログラミング言語によって異なります。詳細については、サブルーチンの記事を参照してください。

ウィンドウプロシージャ



Microsoft WindowsのWindows APIには、ウィンドウプロシージャ(window procedure)という概念があります。これは、ウィンドウに対するメッセージを処理するコールバック関数を指します。ウィンドウの生成や破棄、描画、サイズ変更、マウスやキーボードによるユーザー入力など、様々なイベントに応じてメッセージが送信され、ウィンドウプロシージャはこれらのメッセージに対する処理(メッセージハンドラー)を記述することで、イベント駆動型のプログラミングを実現します。

従来のWindows APIでは、C言語互換の関数形式でDLLにエクスポートされています。そのため、C言語Pascalのような手続き型言語を使ってGUIアプリケーションを実装することも可能です。ただし、MFC、Windows Forms、WPF、DelphiのVCLなどのアプリケーションフレームワークでは、メッセージループ(イベントループ)とウィンドウプロシージャの詳細が隠蔽されています。これらのフレームワークでは、メッセージハンドラーはオブジェクト指向言語の仮想関数のオーバーライドやデリゲートの仕組みなどを利用してイベントハンドラーにマッピングされるため、通常はウィンドウプロシージャを直接意識する必要はありません。

ダイアログボックスに対するコールバック関数は、ダイアログボックスプロシージャ(dialog box procedure)と呼ばれます。これもウィンドウプロシージャと同様に、システムから送信されるメッセージを処理するという点で共通しています。

関連事項



もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。