PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Deboguer un état
Deboguer un état
Iniciado por michel.driant, 19,jun. 2019 12:54 - 7 respuestas
Miembro registrado
299 mensajes
Publicado el 19,junio 2019 - 12:54
Bonjour,

J'essaie depuis une heure de deboguer un état

J'ai créé un modèle d'état. Dans le code de cet état j'ai écrit le code suivant :
Info("***")
POUR i = 1 _À_ 3 // LO_Facture.LT_TVA.Occurrence()
SI LO_Facture.LT_TVA[i].LN_HT <> 0 ET ...
LO_Facture.LT_TVA[i].LN_TVA <> 0 ALORS
{"RUB_Taux" + NumériqueVersChaîne(i)} = LO_Facture.LT_TVA[i].LC_Libelle
// {"RUB_tvaht" + NumériqueVersChaîne(i)} = LO_Facture.LT_TVA[i].LN_HT
// {"RUB_tva" + NumériqueVersChaîne(i)} = LO_Facture.LT_TVA[i].LN_TVA
FIN
FIN


J'ai ensuite créé un état dérivant de ce modèle

Je voudrais passer ce code sous debogueur. J'ai donc placé un point d'arret dans l'état lui-même sur le code grisé.
Le traitement ne s'arrête pas. Le message s'affiche et le traitement continue.

Que faut-il faire de plus ?

Merce d'avance
Miembro registrado
4.361 mensajes
Publicado el 19,junio 2019 - 13:30
Bonjour,
Le code issu d'un modèle n'est accessible qu'en lecture seule dans l'état (ou la fenêtre, le champ ...).

--
Il y a peut être plus simple, mais, ça tourne
Miembro registrado
299 mensajes
Publicado el 19,junio 2019 - 14:03
Merci pour le retour.

Je comprends parfaitement que le code n'est accessible qu'en lecture.
Cela ne m'explique pas qu'on ne puisse pas utiliser le debogueur dessus
Publicado el 19,junio 2019 - 14:07
Il ne faut pas mettre de point d'arret sur du code grisé !
Le traitement ne se fait pas et le compilateur passe la ligne.
Miembro registrado
72 mensajes
Publicado el 19,junio 2019 - 14:44
Trace() peut être ton ami
Miembro registrado
299 mensajes
Publicado el 19,junio 2019 - 19:26
J'utilise trace mais c'est assez long et lourd.
Pour l'instant je n'ai rien trouvé de mieux.

Pourquoi ne pas mettre de point d'arrêt sur le code grisé ?
Pour gérer la notion d'objet WinDev recopie le code de l'objet autant de fois que d'utilisations. Donc pour chaque état dérivant d'un modèle il recopie le code du modèle sur l'état et le met en grisé.
Si on met le point d'arret sur le code du modèle le débogueur le saute joyeusement aussi
Miembro registrado
4.361 mensajes
Publicado el 19,junio 2019 - 19:36
Rien ne t’empêche de tester ton modèle d'état au préalable. Si tout fonctionne, le problème est ailleurs.

--
Il y a peut être plus simple, mais, ça tourne
Miembro registrado
299 mensajes
Publicado el 21,junio 2019 - 09:19
Sauf erreur pour tester un modèle d'état il faut l'utiliser dans un état.
J'ai résolu mon problème via des 'traces()' et des 'info()'
Du temps perdu et je n'ai toujours pas compris pourquoi le debogage n'avait pas fonctionné.