Link to home
Start Free TrialLog in
Avatar of upanishadiii
upanishadiii

asked on

DirectX 7 and CBuilder

I have been using DX6.1, where I develloped an application in, but now I switched to DX7 because of some new functions. I copied the libraries in the lib/borland directory of the SDK and and the include files to my CBuilder directory. I changed a bit in the code so the my app is now using the IDD_IDirectDraw7 interface of the object, but the linker returns the following error: "Unresolved external 'DirectDrawCreateX' referenced from C:\DATA\PORT.OBJ."
What should I do to make the program run again?
Avatar of upanishadiii
upanishadiii

ASKER

Adjusted points to 60
ASKER CERTIFIED SOLUTION
Avatar of nils pipenbrinck
nils pipenbrinck

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thanx for this. I'll test it.
F***ing Microsoft.
I've never loaded a DLL before to use DirectX.
I have seen them using it in there examples, without loading the DLL. I know how to do this, but I have to test it.

It worked very well. Less trouble than expected. Thanx for the answer. I'll give you the points. DO you happen to know how it's possible that the RestoreAllSurfaces function doesn't work in Exclusive mode. When I press ALT+TAB it directly gives the error: Surfaces have been lost...
Nothing draws to the surfaces when I deactivate, or hide the application.
I'll give you points for that as well, but I ask it now because Maybe it can take some time before anyone else knows the answer.
my idea about that alt-tab thing is, that you can only restore the surfaces if your program has the focus.

At least that's what I do when I do directsound streaming. I lock the primary sound buffer. It fails if the user task-switches to another program.

If he however switches back to the game the Restore function succeeds.

Maybe it's the same with the ddraw surfaces here..

btw. if you have graphics/textures loaded they will be trashed after a task-switch. you have to load them again. (at least on my card).

nils