Ich habe ein großes Problem mit meinem eingebetteten Python Interpreter. Meine Anbindung ist ein Plugin zu einem schon bestehenden Programm, das heißt ich kann einige Sachen nicht beeinflussen (das markiere ich mit einem *).
Stellt euch vor ich habe eine grafische Liste mit Objekten. Also einen Würfel, dann Kugel, usw.
Jetzt habe ich eine SandBox mit der ich nebenbei Python Code ausführen kann, und zwar:
obj = meineliste.first()
Jetzt wird das erste Element der Liste in eine Referenz gespeichert. Jetzt lösche ich per Hand das Objekt aus der Liste* (halt mit der Maus). Und jetzt gehe ich zurück in die Konsole und gebe folgendes ein:
print obj.get_name()
*crash*
Denn das Objekt wurde ja von dem Hauptprogramm gelöscht und ich kann leider nicht immer alles abfangen was gelöscht wurde. Das heißt, mein PyObject struct hat einen Pointer auf eine freigegebene Stelle und das crasht dann natürlich.
Hat einer eine Idee was ich machen kann um dem zu entgehen das es crasht? Ich würde gerne halt in allen Python Scopes alle Referenzen zu dem gerade gelöschten Objekt auf PyNone setzen.
Meine Idee:
Kann man in C++ eventuell eine freigegebene Stelle erkennen? Dann könnt eich das vorher mit einer if anweisung abfangen.
Ich danke euch, bye
