Delphi6.0を用いてDLLを作成しています。
これをCから呼び出したところ、引数として指定した整数を正しく認識しません。
どうすればいいでしょうか。
〜〜呼び出し元(VC++)〜〜
関数宣言部
typedef int(__stdcall *TEST)( DWORD );
実体部(TestProcの名前で呼び出し後)
TEST pcTest;
DWORD dwOut = 24;
pcTest( dwOut );
〜〜DLL側(Delphi6.0)〜〜
宣言部
function TestProc( dwIn: DWORD ): integer; stdcall; far; export;
処理部分
function TestProc( dwIn: DWORD ): integer;
begin
(この部分でdwInの値を拾うと24以外の値が入っている。)
end;
呼び出し規約のfarは下位互換性を保つためのものですから、特に必要でない限り不要かと。
それを消してもおかしくなります?
ありがとうございます。
消したらうまくいきました。
ツイート | ![]() |