タイトル : Re^5: VB6.0で使用したDLLをVB.NETで使用したい 投稿日 : 2007/07/31(Tue) 10:47 投稿者 : まいど
> > #先も書きましたが、DLLを作成した言語側でのオリジナルの各構造体定義を見ないと > > #正確なことはわかりませんので、参考までに。 > > > > Integer → Short > > Long → Integer > > の変更を行えば、うまく行きそうな感じがします。 > > > > 後、各構造体の定義前に > > <StructLayout(LayoutKind.Sequential)> _ > > を付加しておいた方がよさそうです。 > > > > 例) > > <StructLayout(LayoutKind.Sequential)> _ > > Public Structure BITMAPINFOHEADER > > > > <参考> > > 「VB 6.0 ユーザーのための VB .NET 移行ガイド - Short、Integer、Long」 > > http://www.microsoft.com/japan/msdn/net/vbtransitionguide/chapter4/chapter4_3.aspx > > 「KEN's .NET [特集6] GetPrivateProfileStringにみるAPIの使用方法 」 > > http://www5b.biglobe.ne.jp/~yone-ken/VBNET/special/sp06_GetPrivateProfileString.html > > 「値型に対する既定のマーシャリング」 > > http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/cpguide/html/cpconDefaultMarshalingForValueTypes.asp > > ありがとうございます。上記方法、試してみます。 →結果です。 @<StructLayout(LayoutKind.Sequential)> _ の付加 A宣言部の変更 してみましたが、やはり結果はNGでした。 これは根本的な問題で私のコーディングがおかしいとしか思えません。 お二方のアドバイスをヒントに再度、調査したいと思います。 とても勉強になりました。ありがとうございました。 |