Seite 1 von 1

Steuern von Python aus C#

Verfasst: Dienstag 21. Februar 2006, 14:48
von joella555
Hallo,
ich bin neu im Forum und hoffe, dass ich die richtige Kategorie erwischt habe.
Ich möchte gerne Python aus c# steuern. Dazu habe ich in C eine Dll geschrieben, die mit Hilfe der C Api von Python Kommandos ausführen kann.
Diese Dll wollte ich dann in mein c# Program einbinden. Leider lässt sich das Programm nicht ausführen. Ich bekomme die Fehlermeldung, dass probiert wurde im geschützen Speicher zu schreiben (trotz einklammern der Funktion durch unsafe statement). Ich vermute, dass es dran liegt, dass die Funktion in der Dll einen Pointer auf ein PyObject erstellt und dies mit Werten füllt... allerdings muss ich gestehen, dass ich weder in Python noch in c# ein Experte bin...
Muss ich bei dem Vorhaben über eine Dll gehen (und wenn ja wie geht das), oder kann ich die Bibliothek python24.lib direkt in c# einbinden?

Danke für eventuelle Hilfe,

Jölla

Verfasst: Dienstag 21. Februar 2006, 16:21
von jens
Hm! Was hast du überhaupt vor? IMHO macht man es eigentlich anders herrum: Man lagert z.b. Prefomance kritische Teile in C aus und greift von Python darauf zu.

Such mal im Forum nach ctypes :lol:

Da du neu bist, kann ein Blick in die [wiki]FAQ[/wiki]nicht schaden :)

Verfasst: Dienstag 21. Februar 2006, 16:27
von mitsuhiko
jens hat geschrieben:Hm! Was hast du überhaupt vor? IMHO macht man es eigentlich anders herrum: Man lagert z.b. Prefomance kritische Teile in C aus und greift von Python darauf zu.
Erm. Vice versa kommt häuftiger vor. Nämlich in Form von Python als Scriping Sprache. (Battefield2, Söldner und noch einige andere Spiele, Blender3d und andere anwendungsprogramme...)

@threadstarter: ich hab das selber erst von delphi aus gemacht. Da gibts eine Komponente für. Ich nehme an, dass du auf der englischen mailingliste fündig wirst. Die sind da ganz auf zack.

Verfasst: Dienstag 21. Februar 2006, 16:48
von Rebecca
blackbird hat geschrieben:Erm. Vice versa kommt häuftiger vor. Nämlich in Form von Python als Scriping Sprache. (Battefield2, Söldner und noch einige andere Spiele, Blender3d und andere anwendungsprogramme...)
Ich bin ueber Blender erst auf Python gestossen! :D

Verfasst: Dienstag 21. Februar 2006, 23:05
von Mad-Marty
Unter anderem empfehle ich einen blick auf PYREX zu werfen.

Da gibts auch einen link zu einem beispiel wie man python in C++ einbettet.

Ich selbst verwende es auch in C++ eingebettet.

Verfasst: Sonntag 26. Februar 2006, 20:38
von Kompottkin
Wenn es Dir nur darum geht, Python als Sprache zu verwenden und nicht seine Bibliotheken, hast Du mit IronPython (Download) vermutlich mehr Freude.