快速背景:这是一个大型的老软件项目,涉及c# UI代码和一些底层c++代码。这个问题是关于c++代码的。
c++负责在屏幕的一个正方形区域上创建一个"有效的"(当时)滚动效果,该区域显示快速移动的波形和快速变化的数据。显然,我们的图表软件内置的"滚动"功能(游戏邦注:我们仍在使用TeeChart)并不奏效。(也许TeeChart 2013现在有足够的滚动功能?不确定…)
现在显然是DirectX 7在c++中使用的汇编是"dx7vb.dll"。这对我来说有点困惑,因为"dx7vb.dll"意味着Visual Basic。
我想用一些现代的DirectX或OpenGL调用(或TeeChart调用如果可能的话?)代替这个DLL。问题是,我不知道在哪里可以找到DirectX 7的参考,所以我可以对DX7调用进行逆向工程并确定合适的替代品。(我确实,然而,理解需要发生什么,我有一个坚实的理解OpenGL,所以这可能也是一个选择…)
所以我的问题是:
- 在哪里找到这种"dx7vb.dll"的某种解释?它和Visual Basic有什么关系吗?
- 什么是'。TLB'文件在c++ ?只是另一种类型的组装?
- 使用的核心对象是IDirectX7Ptr,它有2个谷歌结果…有人知道这个物体的信息吗,这样我就能理解这些呼叫是如何完成的? 现在的TeeChart .NET库是否比15年前更好地支持实时显示?
非常感谢你的时间。
编辑:澄清一下,是的,我有所有的来源。我显然没有'dx7vb.dll'的源代码。
EDIT2:在注册表中查找后,我发现它实际上注册为"DIRECT.DirectX6.0",并且大多数正在注册的COM对象引用"directx6"。所以在经典的微软时尚,'dx7vb.dll'似乎保存DirectX 6对象的信息…
我很难找到任何特定于DirectX 7.0的东西,但我已经找到了DirectDraw的旧参考材料,如果那是你正在使用的DX组件。你可以点击这里查看。我会继续挖掘的。
此外,您可以查看这篇文章,其中有一些遗留(Windows 2000)时代的DirectX文档。在"Direct3D DDI"下面有一个DirectX 7.0发布说明的部分,这让我觉得这里可能有有用的信息。
dx7vb.dll
和dx8vb.dll
分别是使用DirectX 7(1999)和DirectX 8(2000)的Visual Basic 6.0程序集。它们不再是DirectX的一部分,并且不适用于Windows XP之后的任何版本的Windows。这早于为。net(2002)编写的遗留的DirectX 1.1程序集。
对于。net/c#代码,访问DirectX的现代对等物是SharpDX或SlimDX。
参见DirectX和。net