ctypes calling delphi dll
Brian Elmegaard
brian at rk-speed.rugby.dk
Wed Dec 18 10:16:58 EST 2002
More information about the Python-list mailing list
Wed Dec 18 10:16:58 EST 2002
- Previous message (by thread): ctypes calling delphi dll
- Next message (by thread): ctypes calling delphi dll
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Brian Elmegaard <brian at rk-speed.rugby.dk> writes: > Thomas Heller <theller at python.net> writes: > > > and it seems to work. It prints 'R11'. Is this what you expected? > > Yep. Thanks a lot for the help. And now I got it all working, but have written the code below in the best possible way? I don't think it is much easier to read than the C-code example, I am copying. #import the library import ctypes c_double=ctypes.c_double c_float=ctypes.c_float byref=ctypes.byref #load the dll RefrigC=ctypes.cdll.RefrigC #instantiate a refrigerant name AName=ctypes.c_string("\0"*200) RefrigC.SetRNumber("R134a") RefrigC.GetRNumber(AName) print "Refrigerant : %7s" %AName.value print "-------------------------" #Declare the return type of the functions RefrigC.PDewT.restype='f' RefrigC.TDewP.restype='f' ps = RefrigC.PDewT(c_double(273.15)) ts = RefrigC.TDewP(c_double(ps)) print "PDew [bar] : %.3f"%(ps/1e5) print "TDew [C] : %.3f"%(ts-273.15) print "-------------------------" RefrigC.SDewT.restype='f' ss = RefrigC.SDewT(c_double(ts)) tsnew=c_double() vs=c_double() RefrigC.TVSP(c_double(ss), c_double(ps), byref(tsnew), byref(vs)) print "SS [kJ/kgK] : %.3f"%(ss/1000) print "TSNew [C] : %.3f"%(tsnew.value-273.15) print "PSNew [bar] : %.3f"%(ps/1e5) print "VSNew [m^3/kg] : %.6f"%vs.value Brian
- Previous message (by thread): ctypes calling delphi dll
- Next message (by thread): ctypes calling delphi dll
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list