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

Reply via email to