プロシージャ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/04/06 16:07 UTC 版)
繰り返し利用されることから、ルーチン(routine)ともいう。呼び出し関係は通常階層構造をなし、その最上位にある、プログラム全体のエントリーポイントを含むルーチンをメインルーチン(メインプログラム)、呼び出されるものをサブルーチン(サブプログラム)という。また、プログラミング言語によっては関数(function)と呼ばれることもある[注釈 1]。
プログラミング言語により、プロシージャのような構文の分類や呼称はさまざまである。詳細はサブルーチンの記事を参照のこと。
ウィンドウプロシージャ
Microsoft Windows用のWindows APIでは、ウィンドウプロシージャ(window procedure)と呼ばれる概念があり、ウィンドウに対するメッセージを処理するコールバック関数のことを指す[1]。ウィンドウの生成や破棄、描画やサイズ変更、マウスやキーボードによるユーザー入力などに伴って送信される各メッセージに対する処理(メッセージハンドラー)を記述することで、イベント駆動型プログラミングを行なう。従来のWindows APIの多くはDLLにエクスポートされたC言語互換の関数形式となっており、単純なGUIアプリケーションであれば(C++やObject Pascalではなく)CやPascalのような従来の手続き型言語を使って実装することもできる。
MFC[2]、Windows Forms、WPFや、DelphiのVCLに代表されるアプリケーションフレームワークでは、メッセージループ(イベントループ)およびウィンドウプロシージャの詳細は隠蔽されており、メッセージハンドラーはオブジェクト指向言語の持つ仮想関数のオーバーライドやデリゲートの仕組みなどを使ってイベントハンドラーにマッピングされるため、通常は意識する必要はない。
ダイアログボックスに対するコールバック関数については、ダイアログボックスプロシージャ(dialog box procedure)と呼ばれる概念があるが、システムから送信されるメッセージを処理するという点でウィンドウプロシージャと似ている[3]。
関連項目
- サブルーチン
- 遠隔手続き呼出し(リモートプロシージャコール)
- 手続き型プログラミング
注釈
出典
- 1 プロシージャとは
- 2 プロシージャの概要
- プロシージャのページへのリンク