- ベストアンサー
VB6からVC6で作成したDLLの関数を呼び出すときに注意すること
VB6からVC6で作成したDLLの関数を呼び出すときに、型について気をつけないといけませんが、VB6でint型のものはVC6ではshortにしないといけないのでしょうか?マシンやOSや開発環境(例えばVS2005やGCC)により違ってくるのでしょうか? VB6とVC6でやり取りする場合の型について知りたいです。 あと、ActiveXのDLLの場合は関数にアクセスするのではなく、COM(という概念がわかっていないのですが)を使うのですか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
> VB6でint型のものはVC6ではshortにしないといけないのでしょうか VB6のInteger型(VB6ではint型とは言いません)は「16Bit符号付整数」ですから、 VC6の該当するデータ型はshort型ですね。 ちなみに、VS2005のInteger型は「32bit符号付整数」です。 対応するVC6/VC2005のデータ型はlong又はint型ですね。 > VB6とVC6でやり取りする場合の型について知りたいです。 VB6とVC6のデータ型の対応表は、VB6のヘルプ(MSDNライブラリ)の 「C 言語の宣言の Visual Basic への変換」に書かれています。 > ActiveXのDLLの場合は関数にアクセスするのではなく、 > COM(という概念がわかっていないのですが)を使うのですか? まあ、使いますね。 #特に「COM」と言う名前の関数とかがあるわけじゃありませんけど。 手順的には (手順1)該当ActiveXの提供するする機能が含まれるオブジェクトを生成する。 次のどちらかで作成する。 ・ActiveXDLLを「参照設定」して、Newキーワードで作成 ・参照設定しないで、CreateObject関数で作成 (手順2)オブジェクトの関数(又は、サブルーチン,プロパティ)を呼ぶ。 ですね。