初めて質問させていただきます。
DirectXは全くの初心者です。
環境: VB6、DirectX7、Windows7
今までXPで動作していたプログラムを、Windows7で動作させると
Automation Error −2005532109 (88760233)が発生します。
DirectX7のCreateSurface()で発生しますので、DirectX7の実行環境に問題があるのだろうと思いますが分かりません。
dx7vb.dllの他に必要なものがあるのでしょうか?
なお、別のWindows7のPCでは、このエラーは発生せずに正常に動作します。
よろしくお願いします。
> 環境: VB6、DirectX7、Windows7
DirectX8 では無いのですね?
> DirectXは全くの初心者です。
私も似たようなものです。自分ではほとんど使わないですし。
という事で、以下は回答になっていない可能性も高いのですが:
> dx7vb.dllの他に必要なものがあるのでしょうか?
regsvr32 を用いて、レジストリに登録する必要があるはずです。
コマンドプロンプトを「管理者として実行」しておくことを忘れずに。
> Automation Error −2005532109 (88760233)が発生します。
エラーコードからすると、DDERR_NODIRECTDRAWHW ですね。
SDK で DirectDraw7.CreateSurface メソッドの解説を見ると、
|
| DDERR_NODIRECTDRAWHW
| ハードウェア専用 DirectDraw object オブジェクトを作成できない。
| ドライバはハードウェアをサポートしない。
|
とありますので、DDSURFACEDESC2 で指定されたサーフェス パラメータに
ハードウェア側が対応していないのかもしれません。外しているかも知れませんが。
> なお、別のWindows7のPCでは、このエラーは発生せずに正常に動作します。
もしもその PC が、エラーの出る機種と同一機種なのであれば、今回の問題は
ハードウェアではなく、ソフトウェア環境側に原因があるという事になりますね。
魔界の仮面弁士さんアドバイスいただきありがとうございます。
regsvr32での登録は行っております。
ハードウェア側が対応していないということも考えにくいのですが、
ディスプレイアダプタのドライバの問題ということでしょうか。
その方面には暗いためどうすればよいのか分かりません。
問題のPCは先月から発売になりましたDellのCorei3ノートPCで、XPで購入し、このVB6のプログラムも正常に動作しました。
しかしながら、USBデータ受信が停滞する問題が発生しました。
この原因は不明なのですが、Windows7では問題ないことが確認できたため、Windows7へ移行することにしました。
XPから7への入替えは製品付属のReinstallation DVDを使用しました。
dx7vb.dllはXP版に存在していたものを使用しています。
なお、正常に動作しているのは、異なる2機種のWindows7です。
ご教授よろしくお願いいたします。
本件は解決いたしました。
Display Driverのインストール(再?)を行ったところ、エラーは発生せずに正常に動作するようになりました。
魔界の仮面弁士さん ありがとうございました。