Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.058 Beiträge
 
Delphi 12 Athens
 
#19

AW: Python im Delphi ausführen (geht nicht)

  Alt 20. Dez 2022, 11:01
Einfach die irgendeine DLL direkt zu nutzen geht nicht (so einfach).


Du brauchst die Embedded-Version

https://www.python.org/downloads/windows/

Anschließend kann man z.B. entweder auf die python3.dll oder die pyphon38.dll zugreifen. (4 und 4* für die nächste Majorversion)

Erstere ist ein Dummy, welcher die Aufrufe zur aktuellen python3*.dll durchreicht.
Letzere kann man nehmen um im Verzeichnis (mit mehreren Version) geziehlt eine bestimmte Version zunutzen.
Außerdem braucht die Automatik des Python4Delphi die DLL mit der genauen Version, weil der Ersteller so krank ist die Versionsnummer aus dem Dateinamen auszulesen, anstatt über die API (exportierte DLL-Funktion) und darüber dann Versionsabhängiges in seiner Komponente steuert.




Wir nutzen absichtlich nicht die installierte Version.
* erstmal sind wir so unabhängiger von externen Dingen (z.B. wenn der Kunde in seinem System änderungen vornimmmt)
* * vor Alem bei solch Mist wie Adobes PDF waren wir ständig nach automatischen Updates auf neue Probleme gestoßen
* auch müssen wir so das nicht im System installieren (es liegt einfach nur im Verzeichnis / in einem Unterverzeichnis unseres Programms)

* außerdem haben wir das so auch komplett in der Versionierung
* und wir können auch parallel unterschiedliche Versionen gleichzeitig nutzen (z.B. alte und neue Version unseres Programms, inkl. jeweils eigener Python-Version)




Bis auf rückschreibbare Variablen, aus Delphi heraus, haben wir fast alles zum Laufen bekommen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (20. Dez 2022 um 11:06 Uhr)
  Mit Zitat antworten Zitat