Torsten Bronger wrote:
Okay this works:
def generate_type_dublett(visa_type, ctypes_type):
return visa_type + "=" + ctypes_type + ";" + \
"ViP" + visa_type[2:] + "=POINTER(" + visa_type + ")"
def generate_type_triplett(visa_type, ctypes_type):
return generate_type_dublett(visa_type, ctypes_type) + ";" + \
"ViA" + visa_type[2:] + "=" + "ViP" + visa_type[2:]
exec generate_type_triplett("ViUInt32", "c_ulong" )
...
Exec is nasty. Can you create a dict and use an update to globals instead?
py> def get_types(visa_type_name, ctypes_type):
... pointer = ctypes.POINTER(ctypes_type)
... return {'Vi%s' % visa_type_name:ctypes_type,
... 'ViP%s' % visa_type_name:pointer,
... 'ViA%s' % visa_type_name:pointer}
...
py> globals().update(get_types("UInt32", ctypes.c_ulong))
py> ViUInt32
<class 'ctypes.c_ulong'>
py> ViPUInt32
<class 'ctypes.LP_c_ulong'>
py> ViAUInt32
<class 'ctypes.LP_c_ulong'>
STeVe
--
http://mail.python.org/mailman/listinfo/python-list