関数ポインタFunctionステートメント戻り値を有する関数を定義します。Function項目ExportDLLをコンパイルする際に関数をエクスポートするかどうかを指定できます。Export修飾子を指定すると関数はエクスポートされ、外部の実行ファイルから参照できます。cdecl呼び出し規約がcdeclの関数を定義する際に指定します。cdecl修飾子を指定しない場合はstdcall(デフォルト)になります。name関数名を指定します。arglistパラメータを指定します。type後に戻り値のデータ型を指定します。statements関数の処理内容を単行、または複数行に渡って記述します。戻り値を有するFunctionステートメントでは、戻り値を返すためのコードを下記のように記載する必要があります。Functionこれらのコードはいずれも同じ動作になります。Functionステートメントは関数を抜け出すための命令です(事前に戻り値を指定しておく必要があります)。Returnステートメントは戻り値を指定し、尚且つ関数を抜け出します。関数名を修正したときなどに修正箇所が軽減できることから、後者のReturnステートメントを利用する方法を推奨いたします。指定されていないときは関数は自動的に終了し、呼び出し元に処理を移します。Subステートメント戻り値が無い関数を定義します。戻り値を指定しないポイント以外はFunctionステートメントと同様です。実行されるとその関数は終了し、呼び出し元に処理を移します。オーバーロードオーバーロードとは、パラメータや戻り値のデータ型が異なる同名の関数を多重に定義することを言います。SubTestProc(10)TestProc(3.14)TestProc("Hello")上記のソースコードは同一名のTestProc関数を異なる三つのパラメータで定義しています。実行結果は下記のようになります。パラメータは整数型ですパラメータは実数型ですパラメータはString型です関数ポインタ関数エントリポイントを指し示すデータの型を関数ポインタ型といいます。関数ポインタ型は、一般のポインタ型と同様、ポインタ値の変更や読み取りを行えます。それと同時に、そのポインタデータが指し示す関数を実行することができます。関数ポインタを定義するには、通常の変数と同様、Dimステートメントを利用します。型には、戻り値が必要なときは*Functionを、不必要なときは*Subを指定します。Long)TypeDefステートメントを利用し、あらかじめ関数ポインタ型を定義しておくとコードが読みやすくなります。PSUB呼び出し方法は一般の関数と同様です。Longret=pFunc(1,2)pSub(10,20)関数のエントリポイントの取得にはAddressOf関数を利用します。AddressOf関数は左辺値(代入先)の関数ポインタ型を識別し、オーバーロードを解決することができます。特別ページ印刷用バージョンこの版への固定リンクページ情報プライバシー・ポリシーAB開発Wikiについて。