There are a couple of known bugs in ctypes. Can you produce a self-contained example, perhaps using a libc on Windows API function as the target?
- Jeff On Sun, Jan 22, 2012 at 3:50 PM, Jim Pattee <jim...@email.com> wrote: > I am trying to allocate memory in Iron Python to receive text from a DLL. > The allocated memory address is passed to the DLL and the text is copied by > the DLL into the memory area. The following code, which works in CPython, is > used: > > allocated = [] > > def MemoryAllocation(size): > > arr_type = c_char * size # create a c_char array > > arr_obj = arr_type() # create an array object > > allocated.append(arr_obj) # so the object will not be destroyed > > if len(allocated) > 1: # free memory for the previous object > > del allocated[0] > > return addressof(arr_obj) # return a pointer > > > > When this is used for Iron Python it results in: > > “Unhandled Exception: System.AccessViolationException: Attempted to read or > write > > protected memory. This is often an indication that other memory is > corrupt.” > > > > The error results when the memory is copied into Python by the DLL. There > are no errors displayed when executing the above code. > > > > Why can it not write to the memory? What is the difference in Iron Python > and CPython? > > > > > _______________________________________________ > Ironpython-users mailing list > Ironpython-users@python.org > http://mail.python.org/mailman/listinfo/ironpython-users > _______________________________________________ Ironpython-users mailing list Ironpython-users@python.org http://mail.python.org/mailman/listinfo/ironpython-users