Delphiで作成したDLLをCから呼び出すと引数がおかしくなる

解決


Andropov  2004-02-19 02:55:23  No: 7219

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;


たかみちえ  URL  2004-02-19 03:12:17  No: 7220

呼び出し規約のfarは下位互換性を保つためのものですから、特に必要でない限り不要かと。
それを消してもおかしくなります?


Andropov  2004-02-19 19:18:50  No: 7221

ありがとうございます。
消したらうまくいきました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加