Magic uniPaaSからFASTCALL呼び出し規約でDLLを呼び出します。 |
|
CallDLLF(モジュール名.関数名,引数型文字列,パラメータ1
,パラメータ2 ,..) |
|
モジュール名.関数名
…… DLL のモジュール名と使用する関数名
引数型文字列 …… 一つ一つの文字が引数の型を意味する
最後の一文字が関数の戻り値の型を意味します。
パラメータ
…… DLL への引数 |
|
DLL 内の指定した関数が返す値 |
|
CallDLLF('mydll.lmath','1L44',A,B,C) |
|
対応するC関数は、long lmath(char action,
long *a, long b)となり、DLL内の関数であるlmath からの戻り値が返ります。 |
|
CallDLLF('mydll.add_str','AAA',A,B) |
|
対応するC関数はchar *add_str(char *a, char
*b)となり、DLL内の関数のadd_str からの戻り値が返ります。 |
|
FASTCALL
は、DLL をコンパイルする際の呼び出し規約で、fastcall と指定されているものです。
パラメータで結果を受け取る関数を実行しても、結果を受けることはできません。
パラメータとして文字データを直接指定した場合、[動作環境]の[外部コードページ]で指定されたコードページに基づいて値がエンコードされます。このようなプログラムを使用する場合は、CodePage関数でコードページを「932」に設定するか、文字型変数項目を指定するか、UnicodeToANSI関数で変換する必要があります。
|
|