プロが教えるわが家の防犯対策術!

VB6からVC6で作成したDLLの関数を呼び出すときに、型について気をつけないといけませんが、VB6でint型のものはVC6ではshortにしないといけないのでしょうか?マシンやOSや開発環境(例えばVS2005やGCC)により違ってくるのでしょうか?

VB6とVC6でやり取りする場合の型について知りたいです。

あと、ActiveXのDLLの場合は関数にアクセスするのではなく、COM(という概念がわかっていないのですが)を使うのですか?

A 回答 (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)オブジェクトの関数(又は、サブルーチン,プロパティ)を呼ぶ。
ですね。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!