• ### Popular Now

• 9
• 9
• 11
• 12
• 9

#### Archived

This topic is now archived and is closed to further replies.

# Dx8 and BCB5

This topic is 5891 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

Hello again... I have had many problems setting up the Dx8SDK Libs for BCB5. I get "d3d8.lib includes invalid OMF" errors. I had these error when using the wrong libs with Dx7SDK. Can anyone tell me how to setup BCB5 to work with Dx8SDK? Can it be done? Dx7SDK had a folder named Borland with libs in it, but the dX8SDK doesn''t even mention Borland. Any help would be GREATLY appreciated! Mike P.S. I endlessly failed to create a DirectDraw7 object using the DirectDrawCreateEx() function, I finally used the CoCreateIntance() function with success. Is this the only way to do this with BCB5? Is the DirectDrawCreateEx() function any better or worse? Go Canuck Go!

##### Share on other sites
Go to C++ Builder and DirectX Programming to get Borland compatible libs for DirectX8.

Can you show use the code you use for DirectDrawCreateEx?

Steve ''Sly'' Williams  Monkey Wrangler  Krome Studios
turbo game development with Borland compilers

##### Share on other sites
Hello,

Sorry about the wait I was waiting for this flaky adsl modem to connect to my isp...what a joke...craps out every hour...

Anyways, I downloaded some libs from a web page that work with BCB5 and managed to get Dx8 to work...Yikes, it''s not Dx7 is it.

But I do want to what I was doing wrong in Dx7 so I will try to show you what I did, I simply created a new app Included ddraw.h and added ddraw.lib to my project from the borland directory in the dx7sdk include directory.

HRESULT ddrval;
IDirectDraw7* lpDD7;
IDirectDrawSurface7* lpDDSPrimary;
IDirectDrawSurface7* lpDDSBack;

void __fastcall InitDD();

In the CPP

In the forms consructor: lpDDSPrimary = lpDDSBack = NULL;

void __fastcall TDDAPP::InitDD()
{

ddrval=DirectDrawCreateEx(NULL,(VOID**)&lpDD7, IID_IDirectDraw7, NULL);
if(FAILED(ddrval))
{
DisplayError("InitDD7(): DirectDrawCreateEx() failed");
}

}

I cant remember if there was a & before lpDD7 but I think its moot as BCB would error.

It''s right from the SDK so I''m not sure what was up, I assumed the libs were wrong somehow. I had success using DirectDrawCreate() and then querying for a IDirectDraw7 Interface, but I could not query a Direct3D7 Interface.

As I said in my last post I used CoCreateInstance() to create a IDirectDraw7 Object and query the IDirect3D7 Interface. this did indeed work...well I stopped right after getting a IDirect3DDevice7 Interface as I think 3D is too much more me right now...

So is there any difference how I create the Dx7 Object?
CreateEx vs CreateInstance...

Sincerely,
Mike

##### Share on other sites
Based off these project options settings can any one tell why i get this linker error
[Linker Fatal Error] Fatal: Unable to open file ''ODBCCP32.LIB''

ok
in project options
c++ tab
in the member pointers section all cases is selected
in compatibility nothing is selected
in general nothing is selected
in templates nothing is selected
in exception handling enable RTI and Enable exceptions/ destructor cleanup is
selected
in virtual tables smart is selected

in the out put section autodependency information & generate underscores is
selected
in floating point nothing
in language compliance Borland
in source mfc compatibility and identifier length is set to 250
in instruction set 80386 is selected
in data alignment quad word is selected
in calling conversion c is selected
in register variables automatic is selected

compiler tab
code optimization speed is selected
in warnings all is selected
debugging nothing is selected
compiling stack frames and treat eneum types as ints is selected

application
application settings nothing
output settings target file extension : exe

Forms
nothing

packages
all my packages are checked in the design packages box
runtime packages is un checked

tasm
debugging information -line numbers
case sensitivity -globals
warnings - level2
generate listings nothing
code gaurd - - nothing

pascal
in not sure this is relevant

linking - create debuging information and dont generate state file s is
selected
map files off is selected
warnings - selected is selected

nothing

directories and conditionals
include path $(BCB)\include;$(BCB)\include\mfc;$(BCB)\include\atl library path$(BCB)\lib;$(RELEASELIBPATH);$(BCB)\lib\psdk
debug source path \$(BCB)\source\vcl
intermedeate output release
find output Release\
conditional defines WIN32;NDEBUG;_WINDOWS;_MBCS;WIN32;NDEBUG;_WINDOWS;_MBCS

i also haaave the correct dx paths in there when iam actually trying to build the project code

sakira9@netzero.net

##### Share on other sites
Hi sakira

Sorry about the wait... My DSL bites... I am on Dialup...

Anyways, To make a long story short, I don''t believe any of those properties settings matter...Well they probably matter, but I did have the exact same errors trying to get Dx7 to work using the SDK files.

I tried changing all the settings in the properties with no improvement, It seemed to be simply using the BCB provided ddraw.h file opposed to the ddraw.h file in the Dx7SDK.

Not tht I can tell you what exactly the problem is but I can tell you using the header files from the SDK with Borland seems to cause problems, specifically how the header tell the compiler where and what TYPE of libs are being loaded.

IE the SDK Headers seems to have MSVC++ instructions or something along those lines...

Hope I helped you a little bit...

You have my email if you need more clarification...

Mike