投稿者 神鼎麟  (学生) 投稿日時 2011/5/19 21:11:03
いろいろ勘違いしていました…。
しかし
Declare Function TestDll Lib "dllまでのフルパス" (ByVal a As Double, ByVal b As Double)
で宣言し、
MsgBox(TestDll(10.0, 10.0))
として実行するとちょうどここでエラーが出て、
MarshalDirectiveExceptionはハンドルされませんでした。
PInvoke 制約: 変数を返すことはできません。
と出てきます。
dllの中身は
#include <stdexcept>
#include <stdio.h>

using namespace std;

__declspec(dllexport) double __stdcall TestDll(double a, double b){
return (a+b);
}
と、なっています。
どこがおかしいのでしょうか?