DirectX7 in DirectX8?

Osiris
02-28-2002, 11:08 AM
if you only downloaded DirectX8, can you declare
DirectX7 objects?

Thinker
02-28-2002, 03:26 PM
You should be able to. I have had some disagreement with
Squirm on this issue, and he might tell you no. Since I only have
COM/ActiveX theory and he has practical experience, I guess you
will have to go with his answer.

denmeister
02-28-2002, 05:36 PM
Let me add my 2 cents, if I may. COM forces backwards compatability. That's why your games for DirectX 7 still work even if you have the DirectX 8 run-time installed on your machine. However...

VB (or any language for that matter) does not talk directly to the run-time itself. VB has a special library that enables VB users to access the run-time. This library what you reference. Think of it as a nice little package that tells VB about all the objects, methods, and properties in the DirectX run-time, and allows you to create and use these. But the DirectX 8 "helper file" (or in VC, header files) does not include information about all the objects, methods, and properties associated with earlier versions of DirectX.

To use these you must reference an earlier helper file (or header files).

Since COM forces backwards compatability it is now easy to see why Microsoft includes the version number in everthing about DirectX, so that no names conflict. Example: Direct3DDevice8, DirectDraw7, ect.

Microsoft says that you can safely use two different versions of DirectX at the same time as long as you don't try to create to seperate versions of the same componet, ie. Direct3D7 and Direct3D8. Using DirectDraw7 and DirectSound8 together is fine.

Osiris
03-01-2002, 02:49 PM
i dont know if you understand my question,
lets say for example, i get a computer, its brand new
and it does not have any directX components in it,
ok, now i install my visual basic in it, and still no directX is in it
then i go to the internet and download DirectX8 after
that i start programming and i declare something like this

Dim dx as DirectX7

will it work?

Thinker
03-01-2002, 04:08 PM
Yes, we understand your question. The answer is Yes and No.
Yes, the objects are available, but No, you might not have the
necessary VB typelib/translation DLL files to do it.

Squirm
03-01-2002, 04:28 PM
Search your Windows directory for dx7vb.dll. If you have it, then you can use DX7 in VB. Actually, scrap that, just look in Project --> References for DirectX 7 For Visual Basic Type Library. If you can reference it, then you can use it.

This was, of course, my argument with Thinker all along, but thats another story...... :D

Thinker
03-01-2002, 04:35 PM
An argument that I finally understand. I agree that from the VB
practical point of view, you are correct and I must do COM/ActiveX
penance to redeem myself. :o ;) :D

EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum