Hello, I am trying to write a program that is embedding the python interpreter in order to execute python code. I don't need to transfer values between pascal and python.
More specifically, I'm trying to convert to pascal the following: #include <Python.h> int main(int argc, char *argv[]) { Py_Initialize(); PyRun_SimpleString("from time import time,ctime\n" "print 'Today is',ctime(time())\n"); Py_Finalize(); return 0; } I have a minimal unit which includes the needed functions (h2pas wasn't able to convert the Python.h , and i only need those 3 functions anyway ) : unit Python; interface uses Strings; {$LinkLib python2.4} {$IFDEF FPC} {$PACKRECORDS C} {$ENDIF} procedure Py_Initialize;external name 'Py_Initialize'; procedure Py_Finalize;external name 'Py_Finalize'; function PyRun_SimpleString(_para1:Pchar):longint; external name 'PyRun_SimpleString'; implementation end. The pascal program is : var cmd: PChar; begin cmd:=StrAlloc(256); Py_Initialize(); StrPCopy(cmd, 'print "Hello"'); PyRun_SimpleString(cmd); { <--- the program crashes here : runtime error 216 } Py_Finalize(); end. The problem is that the program crashes at execution with "Runtime error 216 at <a_memory_address> ". The backtrace is : (gdb) backtrace #0 0xb7e6c3fa in PyOS_Readline () from /usr/lib/libpython2.4.so.1.0 #1 0xb7e6ca7b in PyTokenizer_FromFile () from /usr/lib/libpython2.4.so.1.0 #2 0xb7e6cf5d in PyTokenizer_FromString () from /usr/lib/libpython2.4.so.1.0 #3 0xb7e69fb3 in PyParser_ParseStringFlagsFilename () from /usr/lib/libpython2.4.so.1.0 #4 0xb7e6a091 in PyParser_ParseStringFlags () from /usr/lib/libpython2.4.so.1.0 #5 0xb7eeb408 in PyParser_SimpleParseStringFlags () from /usr/lib/libpython2.4.so.1.0 #6 0xb7eeb8a1 in PyRun_StringFlags () from /usr/lib/libpython2.4.so.1.0 #7 0xb7eecba3 in PyRun_SimpleStringFlags () from /usr/lib/libpython2.4.so.1.0 #8 0xb7eecc21 in PyRun_SimpleString () from /usr/lib/libpython2.4.so.1.0 #9 0x08048324 in main () at runpy.pas:16 What am i doing wrong ? Any idea ? Thank you, Adrian Maier _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal