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
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
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
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 !
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...
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 !
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.
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
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.
Bonjour
en fait les variables inaccessible sont des variables comprises dans un
With ..do.
exemple :
si je pointe la souris au dessus de min ou max, la valeur n'apparait pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 with scrollbar do min:=1; max:=100; end;
par contre, si j'écris :
et si je pointe la souris au dessus de min ou max, la valeur apparait.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 with scrollbar do scrollbar.min:=1; scrollbar.max:=100; end;
(mais il n'y a plus d'intérêt à utiliser With)
cela sous delphi7 ou antérieur
merci pour vos réponse
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 !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager