Bugs item #1545696, was opened at 2006-08-24 00:07 Message generated for change (Comment added) made by rupole You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1545696&group_id=5470
Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: Python 2.5 Status: Open Resolution: None Priority: 5 Submitted By: Roger Upole (rupole) Assigned to: Nobody/Anonymous (nobody) Summary: structmember T_LONG won't accept a python long Initial Comment: An attribute defined as T_LONG throws a vague error when set to a python long, even when the value is within the range of a LONG. TypeError: bad argument type for built-in operation ---------------------------------------------------------------------- >Comment By: Roger Upole (rupole) Date: 2006-08-24 14:56 Message: Logged In: YES user_id=771074 The DEVMODE object from pywintypes has attributes defined as T_LONG via the structmember API. >>> import pywintypes >>> dm=pywintypes.DEVMODEType() >>> dm.Position_x=3 >>> dm.Position_x 3 >>> dm.Position_x=long(3) Traceback (most recent call last): File "<stdin>", line 1, in ? TypeError: bad argument type for built-in operation >>> Here's the relevant code from structmember.c that throws the error: case T_LONG: if (!PyInt_Check(v)) { PyErr_BadArgument(); return -1; } *(long*)addr = PyInt_AsLong(v); break; ---------------------------------------------------------------------- Comment By: Neal Norwitz (nnorwitz) Date: 2006-08-24 13:30 Message: Logged In: YES user_id=33168 Can you provide example code that demonstrates what you mean? ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1545696&group_id=5470 _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com