Seite 1 von 1

Python & dll

Verfasst: Montag 17. September 2007, 08:39
von cheveron
Hallo!

Ich hätte eine Frage bezügl. Python und dlls:
Ist es möglich aus Pythoncode eine dll zu erzeugen? Hab schon ziemlich lange gesucht, finde aber leider nur Beschreibungen wie ich dlls in Python einbinden kann.

LG René

Verfasst: Montag 17. September 2007, 09:33
von nkoehring
Ein herzlichstes Willkommen im Pythonforum.

Also ich wuesste nicht, dass das geht. Soweit ich weiß erstellt Py2Exe auch keine wirkliche Exe aus deinem Code, sondern nur eine Art Dummy-Exe, die dann Code aus einem Archiv holt.

Was hast du denn vor, wenn ich fragen darf? Vielleicht gibts nen anderen Weg.

Gruesse
nkoehring

Re: Python & dll

Verfasst: Montag 17. September 2007, 10:44
von gerold
cheveron hat geschrieben:Ist es möglich aus Pythoncode eine dll zu erzeugen?
Hallo René!

Willkommen im Python-Forum!

Du kannst COM-DLLs mit Python erstellen. Installiere dir dazu pywin32 und schau in die zugehörige Hilfe. Im Inhalt: "Python COM".

Ich versuche aber COM-DLLs wie die Hölle zu meiden. Ich bin nicht von Visual Basic auf Python umgestiegen, um hier auch wieder in eine DLL-Hell zu geraten.

Was hast du vor? Vielleicht kommst du auch ohne COM-DLLs aus.

mfg
Gerold
:-)

Verfasst: Dienstag 18. September 2007, 15:37
von cheveron
Grüß euch! Danke für die schnelle Hilfe!

Ich will einen XML-Parser in Labview einbinden (dll / Windows) der auch unter Linux verwendbar bleiben soll.
Mit C++ hab ich die dll schon hinbekommen, aber da bleibt unter VC++ die Linuxunterstützung auf der Strecke....

PS: Was íst der Unterschied zwischen COM-DLLs und "normalen" DLLs?

LG René

Verfasst: Dienstag 18. September 2007, 19:49
von Leonidas
cheveron hat geschrieben:Mit C++ hab ich die dll schon hinbekommen, aber da bleibt unter VC++ die Linuxunterstützung auf der Strecke....
Was spricht dagegen in C++ ein Shared Object (``.so``) zu erstellen?
cheveron hat geschrieben:PS: Was íst der Unterschied zwischen COM-DLLs und "normalen" DLLs?
"Normale" DLLs enthalten Funktionen und nehmen irgendwelche Werte und Geben irgendwelche Werte zurück und machen irgendwelche Dinge mit diesen. COM-DLLs sind vergleichsweise kompliziert, sie nutzen eine Art Client-Server Architektur und eine Art RPC. Man kann es sich vorstellen wie einen embedded XML-RPC-Server in einer DLL-Datei. Schwer zu erklären, das. Naja, jedenfalls funktioniert COM nur unter Windows und ist dort auch dabei von .NET verdrängt zu werden.