2012-07-17 66 views
0

我正在研究DirectSound应用程序,该应用程序需要在WindowsXP和Windows7上同时运行。使用的对象只是声音缓冲区,但目前是早期绑定的:VB6中后期绑定DirectX DirectSound

Private dx As DirectX8 
Private ds As DirectSound8 
Private mdsBuf As DSBUFFERDESC 
Private mdsBuffer(7) As DirectSoundSecondaryBuffer8 

首先,我该如何使用CreateObject延迟绑定这些对象?什么是ProgId?我猜像这样:

Dim dx As Object 
Set dx = CreateObject("DIRECT.DirectX8.0") 

其次,我相信Windows7使用DirectX 11.是否有相当于ProgId的?或者对象模型不同?

谢谢!

+0

你试过了吗? – JimmyPena 2012-07-17 16:45:05

+0

谢谢,但我知道后期绑定(XP下)肯定会工作,我缺乏的是细节。是否我甚至可以使用后期绑定的DirectX 11,是另一个问题。 – 2012-07-17 20:16:29

回答

1

你读过Visual Basic 6.0 DirectX applications fail to run on Windows Vista and later了吗?

结果是不再支持VB6的DirectX。

+0

我明白,现有的应用程序将无法正常工作。但我有从头开始编写代码的奢望。我将如何使它工作? – 2012-07-17 15:37:47

+0

基本上,你不能。正如MS知识库文章所述:“Windows Vista和Windows Server 2008上不提供DirectX for Visual Basic 6.0组件。在Windows Vista上没有官方或支持的方式来安装这些组件。” – Bob77 2012-07-18 04:59:54