简体   繁体   中英

Updating From Old DirectX 7 C++ Code… [dx7vb.dll]

Quick background: This is a large and old software project involving C# UI code and some underlying C++ code. This question pertains to the C++ code.

The C++ is responsible for creating an "efficient" (for the time) scrolling effect on a square region of the screen that displays fast moving waveforms and rapidly changing data. Apparently the "scrolling" that was built-in to our charting software [TeeChart, which we still use] just didn't cut it. (Perhaps TeeChart 2013 does have sufficient scrolling now? Not sure...)

Now apparently the assembly for DirectX 7 in C++ that is being used is "dx7vb.dll". This is a bit confusing to me, as "dx7vb.dll" implies Visual Basic.

I want to replace this DLL with some modern DirectX or OpenGL calls (or TeeChart calls if possible?). The problem is, I have no idea where to find reference on DirectX 7 so I can reverse engineer the DX7 calls and determine a suitable replacement. (I do, however, understand what needs to happen and I have a solid understanding of OpenGL, so that could perhaps be an option as well..)

So my questions are:

  • Where to find some sort of explanation for this "dx7vb.dll"? Is it somehow related to Visual Basic?
  • What is a '.TLB' file in C++? Just another type of assembly?
  • The core object that is used is IDirectX7Ptr which has 2 google results... Does anyone have information on this object so I can understand what the calls are accomplishing?
  • Do the modern TeeChart .NET libraries support REALTIME displays better than they did ~15+ years ago?

Thanks a ton for your time.

EDIT: To be clear, yes I have all of the source. I obviously do not have source for 'dx7vb.dll'.

EDIT2: After some looking around in the registry I found that it is actually registerd as "DIRECT.DirectX6.0" and most of the COM objects that are being registerd reference "DirectX 6". So in classic Microsoft fashion, 'dx7vb.dll' seems to hold information for DirectX 6 objects...

I'm having a tough time finding anything specific to DirectX 7.0, but I have found old reference material for DirectDraw, if that's the DX component you're using. You can check it out here . I'll continue digging.

Furthermore, you can check out this article that has some legacy (Windows 2000) era DirectX documentation. Under "Direct3D DDI" there's a section for DirectX 7.0 Release Notes, which makes me think there might be useful information here.

dx7vb.dll and dx8vb.dll were Visual Basic 6.0 assemblies for using DirectX 7 (1999) and DirectX 8 (2000) respectively. They are not part of DirectX any longer, and are not available for any version of Windows newer than Windows XP. This predates the legacy Managed DirectX 1.1 assemblies which were written for .NET (2002).

For .NET/C# code, the modern equivalent for accessing DirectX is SharpDX or SlimDX .

See DirectX and .NET

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM