www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Api calls...

reply "ElfQT" <dethjunk yahoo.com> writes:
How D finds windows api calls?

eg. on
extern(Windows) D3DXMATRIX* D3DXMatrixRotationY( D3DXMATRIX *pOut, FLOAT
Angle );
I get Error at runtime:
"The procedure entry point D3DXMatrixRotationY could not be located in the
dynamic link library d3d9.DLL"

Now, I'm using other functions from the d3d9.dll finr, but I don't
explicitly reference the dll..

Can someone point me to some info in dll/winapi topic?

ElfQT
Aug 10 2005
parent reply "ElfQT" <dethjunk yahoo.com> writes:
Ok the problem is basically that D3DX is not in dll...
only in lib. A working solution of projet nonagon is to use a wrapper dll
from 3rd source.

Is that true that this lib cannot be used from D?

ElfQT

"ElfQT" <dethjunk yahoo.com> wrote in message
news:ddd7td$7e5$1 digitaldaemon.com...
 How D finds windows api calls?

 eg. on
 extern(Windows) D3DXMATRIX* D3DXMatrixRotationY( D3DXMATRIX *pOut, FLOAT
 Angle );
 I get Error at runtime:
 "The procedure entry point D3DXMatrixRotationY could not be located in the
 dynamic link library d3d9.DLL"

 Now, I'm using other functions from the d3d9.dll finr, but I don't
 explicitly reference the dll..

 Can someone point me to some info in dll/winapi topic?

 ElfQT
Aug 10 2005
parent reply "Jarrett Billingsley" <kb3ctd2 yahoo.com> writes:
"ElfQT" <dethjunk yahoo.com> wrote in message 
news:ddd9pq$a5c$1 digitaldaemon.com...
 Ok the problem is basically that D3DX is not in dll...
 only in lib. A working solution of projet nonagon is to use a wrapper dll
 from 3rd source.

 Is that true that this lib cannot be used from D?
Wait a couple hours and I'll be releasing nonagon R4. ;) As of .. sometime this year, D3DX is no longer a static lib. It is a DLL. Depending on what version of the SDK you're using, you use a different D3DX DLL (as there have been several updates to D3DX but no new versions of DirectX as a whole.. kind of confusing). For example, nonagon uses the June 2005 SDK, and so it depends upon d3dx9_26.dll. This is a DLL that is installed by the DirectX installer. I'd need a little more information on what version of the SDK you're using, and might suggest that you update DirectX on your machine (the newest is August 2005). Then I can give you a few more tips. Or, you can wait for nonagon, and I can use that as an example to explain it to you.
Aug 10 2005
parent reply "ElfQT" <dethjunk yahoo.com> writes:
I've decided to drop D3DX and the needed math functions,
i will steal ... err I mean I will reimplement them in D.

Another call problem is how to call timeGetTime().

I have
#extern(Windows) DWORD timeGetTime();
in code, and

in .def IMPORTS

Runtime at the call i get:
"This application has failed to start because Start.DLL was not found. 
Re-installing the application may fix this problem."

I c++, the function declared in mmsystem.h
WINMMAPI DWORD WINAPI timeGetTime(void);

How to call that api?
ElfQT

"Jarrett Billingsley" <kb3ctd2 yahoo.com> wrote in message 
news:dddn21$s7j$1 digitaldaemon.com...
 "ElfQT" <dethjunk yahoo.com> wrote in message 
 news:ddd9pq$a5c$1 digitaldaemon.com...
 Ok the problem is basically that D3DX is not in dll...
 only in lib. A working solution of projet nonagon is to use a wrapper dll
 from 3rd source.

 Is that true that this lib cannot be used from D?
Wait a couple hours and I'll be releasing nonagon R4. ;) As of .. sometime this year, D3DX is no longer a static lib. It is a DLL. Depending on what version of the SDK you're using, you use a different D3DX DLL (as there have been several updates to D3DX but no new versions of DirectX as a whole.. kind of confusing). For example, nonagon uses the June 2005 SDK, and so it depends upon d3dx9_26.dll. This is a DLL that is installed by the DirectX installer. I'd need a little more information on what version of the SDK you're using, and might suggest that you update DirectX on your machine (the newest is August 2005). Then I can give you a few more tips. Or, you can wait for nonagon, and I can use that as an example to explain it to you.
Aug 10 2005
parent "ElfQT" <dethjunk yahoo.com> writes:
I still don't know how to call timeGetTime().
But I've found "clock()" in time.d, which works fine.
Altough I'd be curious whats wrong with timeGetTime.

ElfQT

 Another call problem is how to call timeGetTime().

 I have
 #extern(Windows) DWORD timeGetTime();
 in code, and

 in .def IMPORTS

 Runtime at the call i get:
 "This application has failed to start because Start.DLL was not found. 
 Re-installing the application may fix this problem."

 I c++, the function declared in mmsystem.h
 WINMMAPI DWORD WINAPI timeGetTime(void);

 How to call that api?
 ElfQT
Aug 11 2005