1

快速背景:这是一个大型且古老的软件项目,涉及 C# UI 代码和一些底层 C++ 代码。这个问题与 C++ 代码有关。

C++ 负责在显示快速移动波形和快速变化数据的屏幕方形区域上创建“高效”(当时)滚动效果。显然,我们的图表软件 [TeeChart,我们仍在使用] 内置的“滚动”功能并没有减少它。(也许 TeeChart 2013 现在确实有足够的滚动?不确定......)

现在显然正在使用的 C++ 中 DirectX 7 的程序集是“dx7vb.dll”。这让我有点困惑,因为“dx7vb.dll”意味着 Visual Basic。

我想用一些现代 DirectX 或 OpenGL 调用(或 TeeChart 调用,如果可能的话?)替换这个 DLL。问题是,我不知道在哪里可以找到有关 DirectX 7 的参考资料,因此我可以对 DX7 调用进行逆向工程并确定合适的替代品。(但是,我确实了解需要发生的事情,并且我对 OpenGL 有深入的了解,因此这也可能是一种选择..)

所以我的问题是:

  • 在哪里可以找到这个“dx7vb.dll”的某种解释?它与 Visual Basic 有某种关系吗?
  • 什么是 C++ 中的“.TLB”文件?只是另一种类型的组装?
  • 使用的核心对象是IDirectX7Ptr,它有 2 个谷歌搜索结果... 有没有人有关于这个对象的信息,所以我可以了解这些调用正在完成什么?
  • 现代 TeeChart .NET 库是否比 15 多年前更好地支持实时显示?

非常感谢您的时间。

编辑:要清楚,是的,我有所有的来源。我显然没有“dx7vb.dll”的来源。

EDIT2:在注册表中环顾一番后,我发现它实际上已注册为“DIRECT.DirectX6.0”,并且大多数正在注册的 COM 对象都引用了“DirectX 6”。所以在经典的微软时尚中,“dx7vb.dll”似乎保存了 DirectX 6 对象的信息......

4

2 回答 2

1

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 的现代等价物是SharpDXSlimDX

请参阅DirectX 和 .NET

于 2015-08-01T00:42:48.960 回答
0

我很难找到特定于 DirectX 7.0 的任何东西,但我找到了 DirectDraw 的旧参考资料,如果那是您正在使用的 DX 组件的话。你可以在这里查看。我会继续挖掘。

此外,您可以查看这篇包含一些旧版 (Windows 2000) 时代 DirectX 文档的文章。在“Direct3D DDI”下有一个 DirectX 7.0 发行说明部分,这让我觉得这里可能有有用的信息。

于 2015-07-31T19:11:40.073 回答