tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^7: VB6.0で使用したDLLをVB.NETで使用したい
投稿日: 2007/07/31(Tue) 14:12
投稿者まいど
どうもありがとうございます。まいどです。

> >     <StructLayout(LayoutKind.Sequential)> _ の付加
> Pack 引数も指定しておいた方が良いでしょう。
>
> VB6 でのアライメントは Pack:=4 固定なのですが、.NET の標準は Pack:=8 です。
> また、API によっては、Pack:=1 を要求するものもあります。
>
> それと、要素数が固定の配列メンバを含む場合には、それぞれのメンバに
> MarshalAs 属性を付加して、固定長構造体配列メンバとして宣言してみてください。

→うまくいかないというか、使えないみたいです。
System.Runtime.InteropServices.MarshalDirectiveException はハンドルされませんでした。
  Message="'return value' をマーシャリングできません: 無効なマネージ/アンマネージ型の組み合わせです。Int32/UInt32 は I4、U4、または Error と組で使用してください。"

これはInt属性の定義はできないということなのでしょうか?
もしくはpackが間違っている?一応、1、4、8、すべて試しました。
結果はNGです。

> >     <StructLayout(LayoutKind.Sequential)> _ の付加

ですが、上記を付加したことによって、パラメータが間違いというエラーに変わりました。

結果はまだ解決していないですが、少しずつ紐解きたいと思います。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。