At Wednesday 8/11/2006 17:04, [EMAIL PROTECTED] wrote:
I'm trying to access python objects from c++. It works once. Second
time it hangs.
Does someone have any clue or some example code or pointer?
In general, try to make a *small* example that reproduces the problem you have.
And the c++ class executed inside a thread:
--------------------------------------------------------------------------------------------------
QStringList Pythonizer::getPackages( char *pyModule )
{
// Initialize the Python Interpreter
Py_Initialize();
[... some code ...]
DEBUG_LINE_INFO;
if ( PyErr_Occurred() ) {
PyErr_Print();
PyErr_Clear();
return QStringList::QStringList();
}
[... more code ...]
// Finish the Python Interpreter
Py_Finalize();
return packageList;
}
You are initializing the interpreter on *each* call to getPackages -
don't do that. Worse, "inside a thread". Just initialize the
interpreter when your program begins, and finalize it when your program ends.
Your current code does not call Py_Finalize when an error occurs. The
next time, you invoke Py_Initialize again; and you shouldn't.
--
Gabriel Genellina
Softlab SRL
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar
--
http://mail.python.org/mailman/listinfo/python-list