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

EDI Delphi Discussion :

valeur inaccessible (en debugage)


Sujet :

EDI Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 123
    Points : 63
    Points
    63
    Par défaut valeur inaccessible (en debugage)
    Bonjour
    lorsque je debuge mon programme, certaines valeurs sont inaccessible est d'autres ne le sont pas. J'aimerais que toutes les variables employées dans la procedure que je debuge soient accessibles.
    est-ce possible ?
    merci

  2. #2
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 69
    Points : 76
    Points
    76
    Par défaut
    Comment ca inaccessible ? Quand tu mets la souris sur la variable ? Quand tu fais F7 ? Quelle version de delphi ?

    Si Delphi 6 et que tu attends le hint sur une fonction, il sait pas faire, passe par F7 et la tu auras la valeur.

    Bruno

  3. #3
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 300
    Points
    11 300
    Billets dans le blog
    6
    Par défaut
    les valeurs des variables qui ne seront plus utilisées ne peuvent être visualisées

    si tu veux quand même un accès, il faudra "utiliser" la variable plus loin dans le code
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 156
    Points : 106
    Points
    106
    Par défaut
    Il y a aussi la gêne occasionnée par le bloc d'instruction with mavariable do,
    où les composantes de mavariable ne sont pas toujours examinées en debuggage.

    Je te conseille de passer par la bonne vielle méthode d'affichage d'un message, c'est simple et efficace : showmessage(), qui prend une valeur de type string. Il faudra donc convertir la valeur à afficher, si elle n'est pas de type chaine. Voir fonctions IntToStr, FloatToStr, dateToStr...

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 123
    Points : 63
    Points
    63
    Par défaut Debugage avec Delphi 6
    effectivement, j'attends avec le curseur de la souris au dessus de la variable.
    certaine valeurs sont accessibles, d'autres non.
    quand tu dis : 'passe par F7', comment faut t-il faire ?
    l'appui sur F7 avance l'exécution du programme, mais ma valeur n'est toujours pas accessible.
    les variables sont utilisées après.
    merci pour toutes vos réponses !

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 156
    Points : 106
    Points
    106
    Par défaut
    C'est en fait CTRL F7 qui permet d'accéder à la valeur d'une variable en cours de débuggage, et même de la modifier pour la suite de l'exécution.

    Mais CTRL F7 ne fait rien de plus que donner la même chose que ce que donne le passage de la souris, donc toujours valeur inaccessible...

    Il faut, dans tous les cas, que la variable soit utilisée effectivement dans le code pour pouvoir l'évaluer. Donc il faut parfois mettre du code provisoire, pour forcer Delphi à donner accès à la valeur.

  7. #7
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 288
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 288
    Points : 1 936
    Points
    1 936
    Par défaut
    Des fois avec un clic droit Evaluer/Modifier tu as la valeur (sauf si elle est inaccessible du fait de l'optimisation).
    Delphi 7/XE2/XE3
    C#
    Oracle 9i à 12c
    SQL Server 2008 à 2014

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 123
    Points : 63
    Points
    63
    Par défaut toujours pas accessible
    non, cela ne vient pas du fait que la valeur n'est pas utilisée après.
    cette valleur sert dans différents calculs, avec d'autres variables accessible, le variable résultat du calcul est inaccessible, mais correctement calculée, car tous ce passe bien après (branchement conditionnel OK)
    j'avais déjà eu un cas similaire et en posant {D+}, la variable était devenue accessible, mais là, même le {D+} ne fonstionne pas.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 123
    Points : 63
    Points
    63
    Par défaut variables inaccessible en debugage
    Bonjour

    en fait les variables inaccessible sont des variables comprises dans un
    With ..do.

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       with scrollbar do
         min:=1;
         max:=100;
       end;
    si je pointe la souris au dessus de min ou max, la valeur n'apparait pas.
    par contre, si j'écris :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       with scrollbar do
         scrollbar.min:=1;
         scrollbar.max:=100;
       end;
    et si je pointe la souris au dessus de min ou max, la valeur apparait.
    (mais il n'y a plus d'intérêt à utiliser With)

    cela sous delphi7 ou antérieur

    merci pour vos réponse

  10. #10
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 300
    Points
    11 300
    Billets dans le blog
    6
    Par défaut
    en pointant la variable scrollbar qui suit le with, tous ses champs s'affichent dans une fenêtre, en debuggage.

    l'intérêt du with est de simplifier la lecture, pas le debuggage... et éventuellement de garder l'adresse dans un registre pour n'adresser les champs que par offset ensuite : plus rapide
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

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

Discussions similaires

  1. [D7] Valeur inaccessible
    Par Invité dans le forum Débuter
    Réponses: 4
    Dernier message: 23/02/2015, 09h35
  2. [VxiR2] Invite : Bouton de liste de valeurs inaccessibles
    Par Migraine dans le forum Deski
    Réponses: 3
    Dernier message: 21/11/2011, 15h47
  3. Débugage : Valeur inaccessible
    Par stanislas dans le forum EDI
    Réponses: 2
    Dernier message: 03/03/2009, 11h28
  4. valeur inaccessible, boucles inversées
    Par potili2 dans le forum Delphi
    Réponses: 7
    Dernier message: 23/05/2007, 16h25
  5. [D7] "valeur inaccessible" lors du débogage
    Par Magnus dans le forum EDI
    Réponses: 15
    Dernier message: 25/10/2005, 09h57

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