Boost.preprocessor String-Vergleich



  • Maxi schrieb:

    Und probiere mal boost::python::object(boost::ref(s))

    Hey, vielen Dank. Das hat nun endlich geklappt. Allerdings bleibt nun meine Frage, aufgrund derer ich überhaupt den Thread wieder hochgeholt habe:
    Gibt es eine Möglichkeit das Slicing zu verhindern?
    Als Beispiel:

    class CSVExporter(LoW.Listener):
            def Update(self,Subject):
                l = ["Ja", "Nein"]
                Choice = LoW.Choice("Sollen die Fachdaten als CSV Datei exportiert werden?",l)
                if Choice == "Ja":
                    DoIt()
    
            def DoIt():
                [...]
    

    Sobald hier nun innerhalb der Update Methode DoIt() aufgerufen wird, gibt es den gleichen Runtime Error wie schon zuvor.
    Das dürfte ja daran liegen, dass im Programm selbst nur Listener gespeichert werden können, die aber eben keine weitere Methoden wie eben z.B. DoIt definiert haben. Ein typisches Slicing Problem. Also hat damit vllt. jemand Erfahrungen und Ideen wie ich den Fehler umgehen kann?


Anmelden zum Antworten