Bonjour a tous

Bon je poste ici car je ne savais pas si il fallait mettre ce post dans le forum Python.

Donc mon problème est que je cherche a utilisé Python au sein d'un code C++
afin que l'utilisateur puisse écrire du code python au sein de mon application.

Par exemple, si l'utilisateur rentre un code simple comme ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
varA="toi"
varB=25
if str(varB).isdigit() and varB>0:
	str="Bonjour {0} tu as {1} ans".format(varA,varB)
	print (str)
	str=str.replace("Bonjour", "Hello")
	str=str.replace("tu as", "you are")
	str=str.replace("ans", "")
	print(str)
 
else:
	print ("Error")
Je voudrai récupérer la sortie ou si il y a une erreur de syntaxe, le traceback.

Donc pour l'instant voici le code que j'ai produit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
 
#include "PyTrParser.h"
 
PyTrParser::PyTrParser()
{
	Py_Initialize();
	pyMainModule =PyImport_AddModule("__main__");
	main_dict =PyModule_GetDict (pyMainModule);
}
 
PyTrParser::~PyTrParser()
{
	Py_Finalize();
}
 
PyObject* PyTrParser::execute(const char* code)
{
	return PyRun_String(code, 0, main_dict, main_dict);
}
le main:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
	PyTrParser *parser=new PyTrParser;
	string code="2+3";
	PyObject * returnObj=parser->execute(code.c_str());
 
	int i=0;
	delete returnObj;
	delete parser;
Mais celui-ci léve une exeception :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
System.AccessViolationException
1. Savez-vous si je part dans la bonne direction ?
2. Avez vous des bon tuto sur ce sujet ? (car la doc est un peux limite)
3. Savez-vous d'où viens mon erreur et pourquoi ?

Je vous remercie d'avance pour votre aide