■No54814 (MUH さん) に返信 > VB6からVC++6のDLLの呼出しについて教えてください。 DLL 側で求められている構造体の定義と、 VB 側で宣言したユーザー定義型の定義は、本当に一致していますか? 先の #54684 のスレッドでも指摘されていましたが、こういう場合には DLL 側の関数や構造体定義も掲載してもらわないと、VB 側の宣言が 正しいのかどうか判断できません。DLL の提供元に再確認してください。 > Public Type Initial_Parameters このユーザー定義型では、 > aDebugMode As Boolean のように、Boolean 型が宣言されていますが、C++側の型名は何ですか? C++ の場合、たとえばブール型としては bool 型 … 1 バイト(unsigned char) BOOL 型 … 4 バイト(signed int) などがありますが、VB の Boolean 型は 2 バイトの整数型です。 DLL 側の定義が無いと判断できませんが、本当に Boolean で問題ありませんか? > Public Type Worm_Info このユーザー定義型の配列メンバーは、 > aPts1(127) As Double > aPts2(127) As Double となっており、0〜127 の「128個」の要素を持ちますが、 > Public Type Correction_Parameters こちらについては、 > aPts1(256) As Double > aPts2(256) As Double であり、0〜256 すなわち「257個」となっています。 「128個と256個」とか、「129個と257個」ならば対象性がありますが、 「128個と257個」という数は、どうにも中途半端に思えます。 本当に正しい宣言になっているのでしょうか? > With ST_Initial_Parameters > .aMaxDevideNumber = Text22 Text22 というのは、TextBox ですよね? もしそうならば、 .aMaxDevideNumber = CLng(Text22.Text) のように、正しく表記すべきかと思いますよ。本題とは関係ありませんけれども。
- Child Tree -