アプリ版:「スタンプのみでお礼する」機能のリリースについて

VB6.0にて、ADOを使用したアプリケーションを作成しています。

参照設定にてADO2.7を指定しています。

コンパイルしたアプリケーションを、

MDAC2.5が入っている環境で、動かしてみたら動きました。
インストールされているMDACの確認には、Microsoftのツールを使用しました。

下記コードを記述したモジュールを作成し、
Dim adoCon As ADODB.Connection
Set adoCon = New ADODB.Connection
MsgBox adoCon.version

その環境にてバージョンを確認したら 「2.5」と表示されました。
ちなみに、MDAC2.7がインストールされている環境では、「2.7」と表示されました。


ここで質問があるのですが、

参照設定でADO2.7を指定した場合、

動作先の環境に入っている最新のADOのバージョンが使われると考えて良いのでしょうか?

たとえば、動作先の環境にADO2.1が入っていたら、参照設定のバージョンに関わらず、それで動作する・・・
が、バージョンに依存するメソッドを実行するとエラーになってしまうとか。


Createobjectで生成するのと、かわらないのでしょうか?

よろしくお願いいたします。

A 回答 (2件)

'参照設定でADOのバージョンを指定しても、


'エラーにならず、動いているので、???な状態です。
こじつけではありますが、「下位互換」ってやつではないでしょうか(^^;)
    • good
    • 0
この回答へのお礼

すいません、御礼が遅くなりました。
ご回答の方ありがとうございました。

そうですね、参照定義で2.5で定義し、
2.5以上のADOで動くのであれば、
「下位互換性」と納得するんですが、

参照定義で2.7としているのに、2.5で動くのがどうも・・・。

やはり、Createobjectを行ったときと同等の動きをしているような????

お礼日時:2006/08/17 00:47

ずいぶん昔のことなので、参考程度に。



開発時に参照設定でADOの参照を設定した場合、必ずそのバージョンが使用されます。ですので、実行環境に該当のバージョンのMDACがインストールされていないとエラーになります。

一方、参照設定は一切行わず、CreateObjectでインスタンスを生成する場合、実行環境にインストールされている最新のバージョンのADOが使用されます。
# 参照設定は一切行わない点が重要。


参考になれば。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

私もそのつもりでいたのですが、
参照設定でADOのバージョンを指定しても、
エラーにならず、動いているので、???な状態です。


うーん、なぜだろ・・・。

お礼日時:2006/08/11 00:31

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