
Ich habe eine kurze Frage, und zwar habe ich Python in meine App eingebettet und ein kleines Problem. Ich habe eine Klasse gewrappt und demnach ist im struct ein Pointer zum Objekt vorhanden.
Um es zu vereinfachen: Stelt euch vor das App ist Photoshop und ich habe die Klasse "Ebene" gewrappt. Ich kann also eine Ebene per Python erzeugen. Python besitzt das Objekt also und ist dafür zuständig beim refcount=0 das Objekt zu löschen.
Jetzt erzeuge ich also eine Ebene und übergebe diese an Photoshop das sie im aktuellen Dokument vorhanden ist. Jetzt hat Photoshop den Besitz des Objektes. Wenn ich die Ebene jetzt als User außerhalb vo Python und selbst in Photshop lösche, wird automatisch der Pointer im struct auf NULL gesetzt, das habe ich soweit erreicht. Soweit so gut, jetzt möchte ich aber nicht in jeder Methode des Python Layer Objects auf NULL checken, sondern hoffe, dass ich eventuell eine Methode im PyTypeObject angeben kann, die dauernd ausgeführt wird, bevor ich ein eine Refernez benutze.
Zum Beispiel:
Code: Alles auswählen
PyObject* CheckForNull(LayerObject* self)
{
if(self->obj==NULL)
Py_RETURN_NONE
else
return (PyObject*)self;
}
Hat irgendeiner eine Idee? ICH DANKE EUCH!