C++ Klasse in Python

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
OdinsKrieger
User
Beiträge: 1
Registriert: Donnerstag 17. Juli 2003, 09:17

Donnerstag 17. Juli 2003, 09:25

Hi!
Ich habe folgendes Problem. Ich muß einige C++ Klassen in Python einbauen. Soweit so gut. Hat auch einigermaßen gut geklappt, aber ich habe immer nur Module, keine Typen, d.h. ich kann keine Instanzen meiner Objekte erstellen. Weiß jemand vielleicht nen Link zu nem Artikel oder kann mir direkt weiterhelfen wäre super.
Ich mache es im Moment so: ( nur kurze Zusammenfassung )

Code: Alles auswählen


struct MeinObject {
    PyObject_HEAD
   meine Daten
}

// new, init, dealloc, ... Funktionen 

// Methoden( durch Wrapper Zugriff auf die Methoden der C++ Klassen )

PyMethodDef
{{"Func",Func,METH_NOARGS, NULL}, ... }

PyObjectType MeinType
{
....
}


void Init()
{
    Py_InitModule("MeinObjekt", &Meintype);
}

Ich vermute, das ich eine andere Init Funktion aufrufen muß, um einen Typ anstatt eines Moduls zu erhalten,habe aber in der Docu nixfinden können. Bin für jeden Tip dankbar.

Schöne Grüße[/code]
joerg
User
Beiträge: 188
Registriert: Samstag 17. August 2002, 17:48
Wohnort: Berlin
Kontaktdaten:

Donnerstag 17. Juli 2003, 11:00

OdinsKrieger hat geschrieben:Weiß jemand vielleicht nen Link zu nem Artikel oder kann mir direkt weiterhelfen wäre super.
So ganz habe ich dein Problem nicht verstanden. Hast DU denn die Python-Doku zu 'Extending und Embedding' schon durch? Da steht eigentlich alles drin.

Außerdem solltest Du mal den Sourcecode des Python-Interpreters nach Dateinamen durchsuchen, die mit 'xx' anfangen. Das sind u.a. Beispielfiles für Module, die auch eigene Typen definieren.

Jörg
"Sie sind nicht berechtigt, unrechtmäßige Kopien dieses Datenträgers zu erstellen." - Microsoft-Weisheit auf einer CD von MS-VisualC++-6.0
Antworten