タイトル : Re^4: VB6.0で使用したDLLをVB.NETで使用したい 投稿日 : 2007/07/31(Tue) 10:02 投稿者 : まいど
> API に渡す構造体は、適切な StructLayout 属性を付加しておいた方が安全ですよ。 > > それと、VB.NET と VB6 では、整数型のサイズも異なります。 > API の仕様にあわせて、適切なデータ型を選択する必要があります > > 16bit 整数なら …… (VB6) Integer / (VB.NET) Short または UShort > 32bit 整数なら …… (VB6) Long / (VB.NET) Integer または UInteger > 64bit 整数なら …… (VB6) Currency または 2個のLong / (VB.NET) Long または ULong > > > > Public Structure BITMAPFILEHEADER > > Dim bfType As Integer > > Dim bfSize As Long > > ということで、宣言が間違っていますね。 回答ありがとうございます。 【結果】 宣言はすべて修正後、再実行しましたが、同様のエラーでこけました。 もしかすると、配列構造(100)となっていたのを()にしたのが駄目だったのかもと思って今、修正しています。.NETでStructure内では配列は宣言できないみたいでしたので、削除後に実行していました。Redimは行っていません。 色々、助言いただきありがとうございます。 |