Oliver Andrich schrieb: > On 10/6/06, Thomas Heller <[EMAIL PROTECTED]> wrote: >> Chris Mellon has already pointed out a possible solution, but there is also a >> different way. You could use a subclass of c_char_p as the restype >> attribute: >> >> class String(c_char_p): >> def __del__(self): >> MagickRelinquishMemory(self) >> >> The difference is that you will receive an instance of this class >> when you call the MagickGetException funcion. To access the 'char *' >> value, you can access the .value attribute (which is inherited from >> c_char_p), and to free the memory call MagickRelinquishMemory >> in the __del__ method. > > These is an even better solution, cause it lets me drop one decorator, > I have been using at the moment, to handle these things. > > Thanks a lot. ctypes is so much fun to use. Lately I had to use JNI, > and well, compared to this experience I am now in heaven. :) Sadly, I > can't provide my team members an equal solution in the Java world, > cause one of them starts to hate me for assigning him on another JNI > job in our project.
In the old ctypes CVS repository is a project started and sometimes worked on by Bradley Schatz - ctypes-java. I have never used it but was amazed by the idea (!). You could take a look at it or write to Bradley ;-). Thomas -- http://mail.python.org/mailman/listinfo/python-list