Re: Noob, learning how to use dll's.

new topic     » goto parent     » topic index » view thread      » older message » newer message

CChris wrote:
> 
> Archarios wrote:
> > 
> > }}}
<eucode>
> > without warning
> > include file.e
> > include dll.e
> > include safe.e
> > 
> > atom file1,DLL,GMSx,mem,result
> > object temp
> > file1 = open("D:\obscured\test.txt","w")
> > 
> > DLL = open_dll("kernel.dll")
> > GMSx = define_c_func(DLL,"GlobalMemoryStatusEx",{C_POINTER},C_INT)
> > mem = allocate(64)
> > result = c_func(GMSx,{mem})   ----faults here
> > printf(file1,"%d",peek(mem+1))
> > free(mem)
> > close(file1)
> > abort(0)
> > </eucode>
{{{

> > I get:
> > C:\EUPHORIA\include\safe.e:516 in function original_c_func() 
> > c_proc/c_func: bad routine number (-1) 
> >     i = -1
> >     s = {832176}
> > 
> > ... called from C:\EUPHORIA\include\safe.e:522 in function c_func()  
> >     i = -1
> >     s = {832176}
> >     r = <no value>
> > 
> > ... called from D:\obscured\test.exw:13 
> > 
> > Do I have to use machine.e for this, I was using safe.e since I'm new to
> > dll's.
> 
> Are you sure you need the Ex ?

CChris:

Ex is correct. 

The structure being passed contains some DWORDLONG,s ( 64-bit int types ). 


mem = allocate(64) << is WRONG

mem = allocate(512) << CORRECT VALUE

}}}



Bernie

My files in archive: WMOTOR, XMOTOR, W32ENGIN, MIXEDLIB, EU_ENGIN, WIN32ERU, WIN32API

Can be downloaded here: http://www.rapideuphoria.com/cgi-bin/asearch.exu?dos=on&win=on&lnx=on&gen=on&keywords=bernie+ryan }}}

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu