掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DLLでの引数受け渡し (ID:62587)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
たびたび、質問です。 前回の質問でアドバイスを頂き、VC++6.0でDLLを作成して VB6.0で値の取得を行うProgramを作成しています。 下記の文にて問題があります。 VB側で、 1)戻り値が正常に返ってこない 下記の文では、Ret(0)の値を50としたいのですが まったく違う値。 2)c(1)の値も、目的とした数値にならない c(0)の値の気がします。 いろいろ悩んだのですが、わからないのです。 分かりにくいかとは思いますが、よろしくお願いします。 **** VB側 **** ---- 標準Module---- Public c(10) As Long Declare Function least Lib "SAISYOU2.dll" (ByVal a As Long, ByVal b As Long, ByRef c As Long) As Long ---- Form ------ Dim Ret(3) As Long Ret(0) = least(3, 4, c(1)) **** VC側 DLL **** ----- .cpp ------ SAISYOU2_API long* _stdcall least(long m, long n,long *x) { long *z; z = new long [3]; x[0]=m; x[1]=n; z[0]=50; return z; ----- .h ----- extern "C"{ SAISYOU2_API long* _stdcall least(long, long,long*); }
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.