Seite 1 von 1
DLLs ??
Verfasst: Mittwoch 20. November 2002, 20:15
von reggid
Hi gibt es eine Möglichkeit dlls in Python zuerstellen? (ja ich weis wie scheiße ihr windows findet, aber machen benutzen es doch noch)
Ps: Gibt es soetwas wie eine selfpython, also eine nachmache von selfhtml oder selfphp ?
Verfasst: Mittwoch 20. November 2002, 20:57
von hans
Hi reggid
kannst du deinen schießwütigen Al Capone nicht mal etwas schrumpfen lassen?
Als mit den DLL's ist das so ne sache, das geht schon ganz schön ans eingemachte. Ich selbst habe ja privat kein windows und auf der Arbeit kein Python sondern nur Delphi

Wenn du aus Pythoncode eine .exe machen kannst, dann kannst du wahrscheinlich auch DLL's erstellen.
DLL's haben aber so ihr Eigenleben. In Delphi verlangen die bestimmte Vorraussetzungen, wenn Strings zwischen Applikation und DLL ausgetauscht werden sollen.
Ohne es genau zu wissen denke ich, dass es das nicht gibt, aber ich lasse michgerne überraschen.
Hans
Verfasst: Mittwoch 20. November 2002, 21:30
von reggid
Nunja mir würde es auch schon reichen, wenn es alles machen könnte wie ein dll und VB damit klarkommt,
Verfasst: Mittwoch 20. November 2002, 21:44
von hans
Gib mal ein kleines Beispiel, was du vorhast. Habe ich das Richtig verstanden, dass VB ein Pythonfunktion aufrufen soll und deren Ergebnis weiterverarbeitet?
Verfasst: Donnerstag 21. November 2002, 07:23
von reggid
Jo so soll es sein !
also das Projekt
www.ai-wars.de ist in VB geschrieben und holt sich die Dlls aus einem Ordner, diese Dlls enthalten, die KI, leider haben wir bis jetzt nur eine Anleitung für VB, wie man seine KI ins Spiel bringt. Da aber VB nicht kostenlos ist und auch nicht jeder VB kann, wollen wir jetzt mehr Sprachen einbringen und der Seite auch einen Englische Übersetzung geben !
Verfasst: Donnerstag 21. November 2002, 20:50
von hans
Du kannst ja mal VB Code zeigen, wo eine Funktion aus einer DLL eingebunden wird. In Delphi geht das so:
Code: Alles auswählen
procedure MachWas
var
Handle : THandle;
Proc : TFarProc;
MeineFunktion:TMeineFunktion;
begin
Handle := LoadLibrary('c:\pfad\meine.dll');
proc := getProcAddress(Handle, 'MeineFunktionInDll');
if proc = nil then raise exception.create('verdammter Fehler');
@MeineFunktion := proc;
:
:
a := MeineFunktion(b,c,d,e);
:
:
:
end;
Ich hoffe, ich habe keinen Fehler eingebaut. Ich will ja auch keinen entmutigen, aber ich wollte damit mal zeigen, wie (für meine Begriffe) kompliziert der Zugriff ist. Ich kann mir nicht vorstellen, dass Python das richtige sichere Mittel ist, lasse mich aber gerne eines besseren belehren.
Bin jetzt mal auf ein VB Beispiel gespannt.
Hans
@reggid
Verfasst: Donnerstag 28. November 2002, 13:22
von x-herbert
@reggid
ich bin mir nicht sicher, ob ich Deine Ausführungen richtig verstanden habe: möchtest Du eine dll in Python einbinden oder eine dll erstellen??
- dll erstellen: für Windows gibt es einige Freeprogramme zum Kompilieren z.B. Dev C++
http://www.bloodshed.net/ (siehe auch
http://directory.google.com/Top/Compute ... lers/?tc=1)
einfach eine "normale Win-dll" ansprechen ist (glaube ich) nicht möglich, die "mini-dll´s" die ich testweise kompiliert hatte, waren speziell für Python angepasst; Tipp: SWIG
- dll einbinden: [bin hier nicht ganz trittfest] die dll in \python22\dll\ speichern und über "import reggid" die reggid.dll ansprechen
Welche Funktionen in der dll enthalten sind bzw. wie man diese aufruft muss natürlich bekannt sein
gruss x-herbert
Verfasst: Donnerstag 28. November 2002, 15:47
von reggid
Hi
Also in VB kann ich das auch nicht mit den dlls, hat wer anderes gemacht

Damit es noch mal klar ist, ich will in Python selber eine dll schreiben und Vb soll sie nutzen, aber ich habe noch nichts gefunden, dass afu das erstellen von dlls in Python hinweist

@reggid
Verfasst: Freitag 29. November 2002, 07:30
von x-herbert
@reggid
das Stichwort heißt hier "Python in C/C++ nutzen bzw. erweitern" - bei Goggle & Co. nach "python extend c++" suchen....
=> auch hier hilft das Paket "SWIG"
... da geht es aber schon ans Eingemachte, d.h. Du solltest in C/C++ "sicher" programmieren können
=> wenn das nicht der Fall ist, bleibt Dir nur Dein Projekt offen zu legen und zu hoffen, dass sich jemand der "Ahnung" hat sich dafür interessiert - Du kannst Dich ja um "Kaffe, Bier, Pizza" kümmern...

Verfasst: Freitag 29. November 2002, 18:03
von hans
Wenn's Kaffee gibt, komme ich auch! Aber bitte schwarz und ohne sa(h)ne
Hans
Verfasst: Freitag 29. November 2002, 19:40
von reggid
Jo kommt doch am sonntag vobei, es gibt Kaffee und Kuchen !
Mein Großeltern und meine Tante sind auch da !
@ reggid
Verfasst: Montag 2. Dezember 2002, 13:56
von x-herbert
@ reggid
siehe
http://www.nightmare.com/software.html => calldll
zum Einbinden von div. dll´s unter Win
Verfasst: Montag 2. Dezember 2002, 19:03
von Gast
Damit kann ich dlls aufrufen, ist schon mal gut, aber selber noch keine schreiben, Außer wenn ich sie in c++ einbinde.
@Gast
Verfasst: Mittwoch 4. Dezember 2002, 09:55
von x-herbert
@Gast alias reggid ?
ein Tool, welches Dir das schreiben von dll´s abnimmt wäre schön
würde dann auch gern ein Dutzend mitbestellen....