エラー430


かもめ  2005-02-22 04:20:40  No: 88553

VB6,ADO,Access でシステムを作成しました。
それを他の端末で実行したとき
"クラスはオートメーションをサポートしてません(430)"
といったエラーが表示されました。

ヘルプを見ると古いDLLがあれば互換性がとれないみたいなことを
書いてあったのですが msado15.dll の更新日時が1999年以前のもの
に対してこのエラーがでてました。数台しか試してないので不確かですが・・
もしかしたら  msado15.dll  が古いバージョンだと無理なんでしょうか、
レジストリを変更しなければならないのでしょうか


もげ  2005-02-22 18:16:45  No: 88554

たとえば、このスレッドなんか参考になるかもしれませんが、
http://madia.world.coocan.jp/vb/vb_bbs/200402_04020082.html
「何がどうしてどうなったか」をもう少し整理したほうがよいでしょう。
また、
VB6のSPと各PCのOSのバージョン、Accessのバージョンにも関係するので、
それらの情報を提示したほうがよいでしょう。

確かに、貴殿の作られたプログラムが、
古いバージョンでサポートしていないメソッドを使用している可能性がありますね。
その場合は、レジストリの変更というより、DLLの(MDACの)更新が必要かもしれません。

実行にあたっては、
試す環境を作成して、実際に試してみることをお勧めしますが。


かもめ  2005-02-22 19:26:35  No: 88555

参照設定でのADOのライブラリを2.8から2.5に
変更したら正常に動作しました。

ADOのライブラリのバージョンとDLLのバージョンで
古い場合とかだと互換がとれていないということでしょうか?


Dental  2005-02-22 20:22:18  No: 88556

2.5を参照設定してコンパイルされたexeなら、2.8環境で動かす事はできます。
しかし、2.8が参照設定されたexeを、2.5環境では動かない可能性があります。

> ADOのライブラリのバージョンとDLLのバージョンで
> 古い場合とかだと互換がとれていないということでしょうか?
といっても、2.5が出た当時は、まだ2.8は世に出ていませんしね。
2.8環境で2.5用アプリの動作を期待するならまだしも、
2.5環境で2.8用アプリを動作させろというのは、些か酷な話では?

この場合の対応策としては、
(a)適切なバージョンのMDACを頒布する。
(b)相手先のバージョンに合わせた参照設定をする。
(c)参照設定せずに利用し、かつ、下位バージョンのADOでもサポートされている機能だけを使う。
などがあります。ま、どれを使うかはケースバイケースって事で。

ちなみに、「バージョン2.5を参照設定してコンパイルしたアプリ」は、
「2.5しか入っていない開発環境」上での動作と、
「2.5だけでなく、上位バージョンも入っている開発環境」とで、
動作が異なる可能性があるので、環境テストは入念に。


かもめ  2005-02-23 01:11:02  No: 88557

msado15.dllについてなんですが、実際このDLLは
どの状態でインストールされるのでしょうか?

VBのインストール時
マイクロソフト(Access)インストール時
OSインストール時

現在の環境はVB、Officeのどちらかが入っていたら
このDLLは入ってました。

OSを最インストールしてためしたいのですが試せる端末が
ありませんでした。


Dental  2005-02-23 02:21:33  No: 88558

http://support.microsoft.com/servicedesks/fileversion/dllinfo.asp

検索の種類[ファイルのみ]、ファイル名[msado15.dll]で。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加