IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques Discussion :

Utilisation de la librairie TCL


Sujet :

Bibliothèques

  1. #1
    Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2007
    Messages : 27
    Points : 47
    Points
    47
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    catch {open tototo w} result
    puts ${result}
    result a la valeur de "filec5b8e30"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2007
    Messages : 27
    Points : 47
    Points
    47
    Par défaut
    Bonjour à tous,

    C'est bon j'ai trouvé. Un peu par hasard certes mais j'ai trouvé.

    il faut appeler la fonction TCLSetResult. C'est elle qui va renseigner la donnée via le catch.

    Merci à tous ceux qui vu mon appel et qui ont réfléchit.

    Cordialement

    Ambroise Petitgenet

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utilisation de la librairie JEDI ...
    Par HaldriX dans le forum Composants VCL
    Réponses: 7
    Dernier message: 04/03/2006, 09h38
  2. Utilisation de la librairie LTI
    Par gids01 dans le forum MFC
    Réponses: 1
    Dernier message: 14/12/2005, 14h34
  3. Réponses: 4
    Dernier message: 13/10/2005, 12h41
  4. [Débutant] utilisation de la librairie windows
    Par tavman dans le forum Windows
    Réponses: 12
    Dernier message: 27/08/2005, 16h21
  5. Utilisation de la librairie ng sous FreeBSD
    Par Mercenary Developer dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 07/12/2004, 09h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo