ネイティブ関数
概要
ネイティブのダイナミックリンクライブラリ(DLL)に含まれる関数を呼び出すための種類です。一つのオブジェクトで1つの関数を呼び出せます。
C/C++などの言語でコンパイルされたライブラリ関数を利用できます。
プロデルでは、64ビットWindows上でもWoW64を使用して32ビットで動作します。そのため、32ビット用のDLLファイルが必要です。
なお、プロデルデザイナの「オプション」で指定することで、64ビットで動作する実行可能ファイルを作成することが可能です。
注意! この機能を利用するには、C/C++言語など他のプログラミング言語の知識が必要になります。この機能を利用した外部DLLの呼び出し方法については、利用するライブラリの情報をご参照ください。
作成する方法
【名前】というネイティブ関数を作る
ネイティブ関数を呼び出すには「ファイル名」設定項目と「関数名」設定項目,「戻り値型」を必ず指定して下さい。
手順
【自分】を【実引数一覧】で呼び出す:基本物
指定した関数を呼び出します。
【実引数一覧】には、引数に渡す引数を指定します。実引数に、ポインタを渡す場合は「ネイティブ参照」種類、構造体を渡す場合は「ネイティブ構造体」種類のオブジェクトを指定します。
呼び出し時「引数型一覧」設定項目で指定したデータ型に変換されて、関数に渡されます。
戻り値は「戻り値型」設定項目のデータ型に変換されて、返されます。
設定項目
設定項目 | 型 | 説明 | |
---|---|---|---|
ファイル名 | 文字列 | ◎ | ライブラリのファイル名(DLL) |
関数名 | 文字列 | ◎ | 実行する関数名 |
戻り値型 | 型情報 | ◎ | 関数の戻り値のデータ型 |
引数型一覧 | 型情報の配列 | ◎ | 関数の引数のデータ型一覧 |
文字セット | 列挙 |
文字セット xxxA系の関数はAnsi。xxxW系の関数で、既定値はAnsiです。 Unicodeを指定して下さい。 {Ansi, Unicode, Auto} |
サンプルコード
MessageBox関数を呼び出す
Win32APIのMessageBox関数を呼び出します。
メッセージボックスは、ネイティブ関数(ファイル名「user32.dll」、関数名「MessageBoxA」)を作る メッセージボックスの戻り値型は、整数 メッセージボックスの引数型一覧は{整数, 文字列, 文字列, 整数} メッセージボックスを{0, 「こんにちは」, 「タイトル」, 0}で呼び出して結果とする 結果を報告する