Problems using calldll library
Piero
picodello at yahoo.it
Fri Feb 8 06:09:13 EST 2002
I need to interface with a windows DLL that is declared in C like:
getword(&ncard,&nb,&adr,tabl,&status)
where the type of parameters are :
ncard=16-bit integer
nb=16-bit integer
adr=32-bit integer
tabl= array of 16-bit integer
status=16-bit integer
where ncard,nb,addr are input parameters
and tabl,status are output parameters
I try to implement this function, but don't work.
I suppose the problem is in the input parameters format.
Something can help me ?
def getword(self,ncard,nb,adr,tabl):
getword =calldll.get_proc_address(self.applicomdll,"getword")
p = calldll.membuf(4)
px = p.address()
pncard = calldll.membuf(2)
pncard.write(str(ncard))
pxcard = pncard.address()
pnb = calldll.membuf(2)
pnb.write(str(nb))
pxnb = pnb.address()
padr = calldll.membuf(4)
padr.write(str(adr))
pxadr = padr.address()
tabll = calldll.membuf(2)
ptabll = tabll.address()
ret= calldll.call_foreign_function (getword, 'iilii', 'l',
(pxcard,pxnb,pxadr,ptabll,px))
res = p.read(0, 2)
print struct.unpack('bb', res)[0]
ress = tabll.read(0, 2)
print struct.unpack('bb', ress)[0]
Thank you in advance
Piero
More information about the Python-list
mailing list