On Nov 14, 2:00 pm, "Diez B. Roggisch" <[EMAIL PROTECTED]> wrote: > Giorgos Giagas wrote: > > Hi all, > > I have started using ctypes and I am having some questions I can't > > seem to find the answers to. > > > There is a structure referenced by a pointer in an other structure and > > I want to see if it is one of the structures I have pointers to. > > So what I think I need is a way to compare 2 pointer's memory > > location. I can't find a way to do this. Pointer comparisons don't > > work. Is there something else I should do? > > Use addressof on the contents of your pointers.
Thank you. I was looking for a pointer or structure property and missed that. > > The other thing is more of a curiosity... The documentation says that > > I need to keep references to structures so they don't get freed is > > this also true for structures returned as pointers? What about > > structures that I cast to something else? I guess the largest of the > > two casts gets freed like it should... can someone confirm this? > > The one has nothing to do with the other. > > If you create a struct and pass e.g. a pointer to it into a DLL, you need to > keep a reference, otherwise the struct will be deallocated and the pointer > is dangling. > > If you have a pointer and cast it to some structure, you get a structure > object (in python) that points to a certain memory portion. But GCing that > object doesn't do anything to the memory location. > That makes sence. I was confused about this thing... Thanks a lot for the quick reply, Giorgos -- http://mail.python.org/mailman/listinfo/python-list