re: Re: Eu 2.4, c funcs and ExoticaX
- Posted by dm31 at uow.edu.au Sep 02, 2003
- 377 views
>dm31 at uow.edu.au wrote: >> I've got a new version of the Perlin Noise Library coded >> (v0.5.1) which has had major rewrites done. However, for the >> demo's that need to use ExoticaX, it works with Eu2.3 but not >> Eu2.4, below is the error. >> >> My question is, how do I fix the c func calling routines to >> work with Eu2.4?? >> >> Cheers, >> Dan >> <Snip> > >In 2.4, define_c_proc() and define_c_func() check >the argument types (and return type) that you specify >to ensure that they belong to the set of C_ or E_ constants >defined in dll.e. 2.3 quietly accepted any value as an >argument type, with possible incorrect results when >you actually called the C routine. > >I don't have exotica_api.ew in front of me, >but if you have no idea about the correct argument types >for the C function, try replacing any bogus type values, >i.e. ones that are not in the range C_CHAR ... C_DOUBLE, >with (say) C_INT. Maybe someone with the code will have >a better idea. > >Regards, > Rob Craig > Rapid Deployment Software > http://www.RapidEuphoria.com These are the first the first two lines causing problems (note, if I comment a line out the very next one comes up, for all the api it seems, even exotica works) WINVER = link_c_func2(edx, "WINDOWS_VERSION",{NULL},C_UINT) REPORT_MODE = link_c_proc2(edx, "REPORT_MODE", {C_POINTER, C_INT}) All the C_ vars seem fine, and I've got limited knowledge on linking Eu with C dll's so I can't see anything else. Any help to fix this would be appreciated because as soon as I can fix the exotica api I can release the library. Cheers.