Ist mittels SynEdit der Zugriff auf Python möglich?

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
ErnstVolker
Beiträge: 351
Registriert: Di 17. Feb 2009, 10:44
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Ist mittels SynEdit der Zugriff auf Python möglich?

Beitrag von ErnstVolker »

Hallo zusammen und guten Abend,

da mein Typbibliothekenproblem immer noch an mir nagt und ich kein Visual Basic verwenden will (obwohl es mit Zedgraph eine OpenSource Chart-Komponente dafür gibt -ich brauche auch Carts um Funktionen darstellen zu können) geistert mir eine Idee durch meinen bescheidenen Geist.

Wäre es möglich mit Lazarus auf Python-Skripe zuzugreifen? Nicht nur so, daß man ein bestimmtes Skript nur startet und laufen lässt, sondern in der Art, daß man auf Attribute und Methoden innerhalb des Skriptes (der Python-Klasse) zugreift und Werte übergibt?
Z.B. hat man in Lazarus zwei Arrays, x und y. Die übergibt man an Python und lässt sich dort mit den Plotfunktionen aus dem matplotlib-Package meinetwegen eine Parabel y=x^2 darstellen. Funktioniert so etwas?

Pywin bietet den Zugriff auf diese Typbibliotheken und erstellt dann einen Code-Wrapper (so nennt sich das doch, oder?). Dann könnte ich meine DesignCad-Fernsteuerung mit Python vornehmen und zum Start des Python-Skripts eine Lazarus-Exe. DesignCad wiederum startet nur exe-Dateien oder die Makros aus der eigenen Programmiersprache, keine Python-Skripte.

Funktioniert so etwas über

Code: Alles auswählen

TSynPythonSyn
?

Ich hab' schon gegoogelt und hier nach SynEdit das Forum durchsucht aber finde keine Antwort, was natürlich auch wieder auf meinem bescheidenen Geist zurückzuführen wäre...

Für eine Antwort danke ich im Voraus

Gruß

Volker

Socke
Lazarusforum e. V.
Beiträge: 3178
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Ist mittels SynEdit der Zugriff auf Python möglich?

Beitrag von Socke »

SynEdit ist nur eine Editor-Komponente. Damit kansst Python-Scripte schreiben, aber nicht ausführen. TSynPythonSyn ist meines Wissens nach nur für das Syntax-Highlighting zuständig.

Zu Python: Da man von C-Programmen ein Python-Interface bereitstellen kann, sollte das mit FreePascal auch möglich sein.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: Ist mittels SynEdit der Zugriff auf Python möglich?

Beitrag von Teekeks »

Socke hat geschrieben:SynEdit ist nur eine Editor-Komponente. Damit kansst Python-Scripte schreiben, aber nicht ausführen. TSynPythonSyn ist meines Wissens nach nur für das Syntax-Highlighting zuständig.
Da liegst du genau richtig :)

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Ist mittels SynEdit der Zugriff auf Python möglich?

Beitrag von mschnell »

Python kann in C geschriebene Unterprogramme mit "Flat" ABI aufrufen. Also kann Python auch mit FPC geschriebene Unterprogramme aufrufen.

Eine Parameter-Übergabe von Python-Objekten wird dabei durch entsprechende vom Python-Framework zur Verfügung gestellte Funktionen möglich.

Keine Ahnung ob Dir das bei dem Problem hilft. (Vielleicht kannst Du ja von Python und dem Lazarus Haupt-Programm dieselbe Lazarus DLL/SO aufrufen und das Python Script darüber steuern.)

-Michael

ErnstVolker
Beiträge: 351
Registriert: Di 17. Feb 2009, 10:44
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: Ist mittels SynEdit der Zugriff auf Python möglich?

Beitrag von ErnstVolker »

Danke für die Tipps.

Der Zugriff mit "C" steht in den Büchern zu Python beschrieben. Da hätte ich auch selbst drauf kommen können, ich Trottel :oops:

Der Umweg schein mir wenig elegant. Alle Nutzer, denen man das Programm zur Verfügung stellen möchte, benötigen dann Python mit den entsprechenden Packages und das mit Pywin generierte Code-Wrapper Skript.

Wie entwickelt man ein Programm, welches aus Typbibliotheken Units erzeugt? Sicherlich ein Haufen Arbeit. Wenn ich wüsste wie funktioniert und es mir von der Hand gehen würde, könnt' ich's ja mal probieren...

Danke nochmal für den "C"-Tipp!!

Gruß

Volker

Antworten