Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #37223 > unrolled thread

Re: handling return codes from CTYPES

Started byMRAB <python@mrabarnett.plus.com>
First post2013-01-21 20:21 +0000
Last post2013-01-21 20:21 +0000
Articles 1 — 1 participant

Back to article view | Back to comp.lang.python

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: handling return codes from CTYPES MRAB <python@mrabarnett.plus.com> - 2013-01-21 20:21 +0000

#37223 — Re: handling return codes from CTYPES

FromMRAB <python@mrabarnett.plus.com>
Date2013-01-21 20:21 +0000
SubjectRe: handling return codes from CTYPES
Message-ID<mailman.762.1358799685.2939.python-list@python.org>
On 2013-01-21 16:52, Steve Simmons wrote:
> Mike,
>
> Thanks for your response - I was puzzled by one part of it though...
>
>      On 21/01/2013 15:14, Mike C. Fletcher wrote:
>>     That's because you've just discarded the object you created
>
> I (mis?)understood from the ctypes documentation that '>>> initResult =
> c_short(0)' would result in the creation of a ctypes 'short' called
> initResult and that this object would be mutable.  On that basis, I
> expected the following statement '>>> initResult = initScanLib( ... )'
> would assign the result of the call to initResult.
>
> So, I can understand that I am not using the correct approach but I
> don't understand how I discarded the object I created.  Can you clarify
> please?
>
This:

initResult = initScanLib( ... )

will make initResult refer to whatever initScanLib(...) returned, just
as this:

initResult = c_short(0)

will make initResult refer to whatever c_short(0) returned.

What you were doing was this:

1. You created a c_short object and bound initResult to it.

2. You called a function and bound initResult to its result, unbinding
the c_short object in the process.

3. There were no other references to the c_short object, therefore it 
could be discarded by the garbage collector.

[toc] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web