create decls files?

Blitz3D Forums/Blitz3D Programming/create decls files?

hello!

i found a new ode dll somewhere in the web and i wanted to ask, how i cam make a decls file for it?

i don't know the function's names and the parameters!
is it possible?

thx :)

for the function names you can use dumpbin...check out this page: http://support.microsoft.com/kb/131313
An alternative is to check out this page and the download link at the bottom:
http://win32assembly.online.fr/importlib.html

[removed]

http://www.blitzbasic.com/Community/posts.php?topic=32977

http://www.blitzbasic.com/Community/posts.php?topic=32435

hi!

thx a lot kev :)
the second link worked and gaved this:
_dDot	@524372
_dFactorLDLT	@524375
_dSolveL1	@524646
_dSolveL1T	@524647
_dGeomBoxSetLengths	@524379
_dGeomBoxGetLengths	@524377
......
...



_dFactorLDLT	@524375


=>

_dFactorLDLT(): "_dFactorLDLT@524375"


^^ ist this right?


edit: "@524375" cannot be right.
however, wanna use this dll: http://prdownloads.sourceforge.net/opende/ode-win32-0.7.zip?download

but i don't know the parameters&co... how can i do this?

After finding out the function names, I think you could check in the .h files for the parameters to these functions. The decls would be:

.lib "ode.dll"

dFactor(.., .. etc) : "_dFactorLDLT"

The @524375 is a pointer to the address where the function starts.

one question left:

you say, that the @ sign means the pointer adress. but how about this:

DX7_SetStencilFail%(stencilOP%):"_SetStencilFail@4"
DX7_SetStencilZFail%(stencilOP%):"_SetStencilZFail@4"
DX7_SetStencilPass%(stencilOP%):"_SetStencilPass@4"
DX7_SetStencilFunc%(cmpFunc%):"_SetStencilFunc@4"
DX7_SetStencilRef%(refVal%):"_SetStencilRef@4"
DX7_SetStencilMask%(mask%):"_SetStencilMask@4"
DX7_SetStencilWriteMask%(mask%):"_SetStencilWriteMask@4"
DX7_SetZFunc%(cmpFunc%):"_SetZFunc@4"


they all point to 4!?

anyway, thank you. you helpend me alot :)

the @4 points to how many dword parameters the function takes(or it could just be the way the compiler/linker decorated the name)From the h file dDot is, for example:
PURE_INLINE dReal dDOT   (const dReal *a, const dReal *b) { return dDOTpq(a,b,1,1); }

And above this line in the include file you'll find:
#define dDOTpq(a,b,p,q) ((a)[0]*(b)[0] + (a)[p]*(b)[q] + (a)[2*(p)]*(b)[2*(q)])


The form/parameters for dFactorLDLT are:
ODE_API void dFactorLDLT (dReal *A, dReal *d, int n, int nskip);

Taken from the matrix.h include file

thx, i'll check it out :)

no problem...glad that I could help.

[edit] Nevermind

I saw this @ sign also in the .dll documentation: http://www.blitzbasic.com/sdkspecs/sdkspecs/userlibs_specs.txt, there it also has something to do with the number of bytes that are sent to the function