Utilisation de la librairie TCL
Bonjour,
Je travaille sur un projet en C++. Nous y avons intégré un interpreteur TCL.
Tous marche nickel ,mais nous souhaiterions améliorer un point, si c'est faisable.
nous souhaiterions récupérer des traces d'erreurs TCL via le catch TCL.
Exemple
Code:
1 2 3
|
catch {open tototo w} result
puts ${result} |
result a la valeur de "filec5b8e30"
Code:
1 2
|
catch {mafonction } result |
si une erreur result reste vide. Ce qui doit être normal.
la commande mafonction est ajoutée via Tcl_CreateCommand.
Nous avons créer pour nous une fonction TclSetError qui nous permet d'afficher une erreur personnalisée
Exemple
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
int call_unsetTimeOut (ClientData clientdata, Tcl_Interp *interp, int argc, char *argv[])
{
if (argc == 1)
{
dosomething
}
else
{
theApp.m_pTclInterpreter->TclSetError("ERROR %s : does not take any argument.", argv[0]);
return TCL_ERROR;
}
return TCL_OK;
} |
J'ai bien essayer Tcl_AddObjErrorInfo ou Tcl_AddErrorInfo mais c'est complétement déconnant.
Est ce qu'il serait possible d'utiliser notre fonction TCSetError pour mettre à jour la variable du catch ? Ou en tout cas comment on la met à jour si on créer notre propre commande TCL ?
Est ce que j'ai été clair ou pas ?
Merci beaucoup
Ambroise Petitgenêt