C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 21 を表示中)
■9135 / )  Re[10]: C#からVC6DLLに構造体のchar[]を渡す
□投稿者/ techno (5回)-(2007/10/19(Fri) 16:25:16)
2007/10/19(Fri) 16:29:11 編集(投稿者)
2007/10/19(Fri) 16:29:07 編集(投稿者)

とりあえず
[StructLayout(LayoutKind.Sequential, Pack = 4, CharSet = CharSet.Ansi)]
public class stTest
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 1024)]
public byte[] a;
public int b;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 1024)]
public byte[] c;
}
として、デバッグしていたら「保護されているメモリに読み取りまたは書き込み操作
を行おうとしました。他のメモリが壊れていることが考えられます。」というエラーが
出ていたんですが、ビルドして出来たEXEをtest.dllと同じディレクトリに入れ、EXEを実行
したら、上記エラーは出ず正常に処理されました。OUTのデータも正しく参照できます。

プロジェクトのプロパティの参照パスに、TEST.dllが入っているディレクトリを設定してデバッグして
いたんですが、上記エラーが出るのはなぜなんでしょう?
何かVS2005の設定が足りないんですかね?

返信 編集キー/


管理者用

- Child Tree -