PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → Affectation incomprehensible (autre exemple)
Affectation incomprehensible (autre exemple)
Iniciado por MMichotte, jun., 09 2005 5:58 PM - 4 respostas
Publicado em junho, 09 2005 - 5:58 PM
Lors de l'exécution d'un traitement assez long, le programme s'arrête presque toujours en erreur système inattendue et, en debuggant, je constate que la valeur d'une variable est INCOMPREHENSIBLE !!!
L'erreur se produit par exemple dans la boucle dont le code est joint.
A un certain moment, lors de la 6ème itération, le debuggeur m'indique au niveau de la DERNIERE LIGNE dans le corps de la boucle :
liXX = 6
lcInstr1=" "
lcInstr2="srcDetailFDDPatient.F2nQte6Reelle"

COMMENT EST-CE POSSIBLE ???

POUR liXX = 1 A NB_MAX_PERIODES

lcInstr1 = ""
lcInstr1 = "Handeling_TMP"+".nDosage"+liXX
lcInstr2 = ""
lcInstr2 = "srcDetailFDDPatient"+".F2nQte"+liXX+"Reelle"
{lcInstr1,indRubrique} = {lcInstr2,indRubrique}

FIN
Publicado em junho, 09 2005 - 6:46 PM
L'indirection me semble un peu bizarre:
>{lcInstr1,indRubrique} = {lcInstr2,indRubrique}
J'aurai plutôt écrit
{lcInstr1 + "." + indRubrique} = {lcInstr2 + "." + indRubrique}
ou
{lcInstr1}[indRubrique] = {lcInstr2}[indRubrique]
Selon le rôle de IndRubrique.

Frédéric.
Publicado em junho, 09 2005 - 7:17 PM
indRubrique = constante dans l'indirection pour optimiser la vitesse.
Rien à voir avec une rubrique de fichier.
J'aurais pu écrire :
{lcInstr1} = {lcInstr2}
Le résultat est le même.
Publicado em junho, 10 2005 - 10:05 AM
essai de passer par une variable intermediaire de bon type
str = {lcInstr2}
{lcInstr1} = str

"Manu Michotte" <MMichotte@be.aexis.com> a écrit dans le message de news:
42a85146$1@news.pcsoft.fr...

indRubrique = constante dans l'indirection pour optimiser la vitesse.
Rien à voir avec une rubrique de fichier.
J'aurais pu écrire :
{lcInstr1} = {lcInstr2}
Le résultat est le même.

Publicado em junho, 10 2005 - 3:45 PM
POUR liXX = 1 A NB_MAX_PERIODES

lcInstr1 = ""
lcInstr1 = "Handeling_TMP"+".nDosage"+numeriqueVersChaine(liXX)
lcInstr2 = ""
lcInstr2 = "srcDetailFDDPatient"+".F2nQte"+numeriqueVersChaine(liXX)+"Reelle"
{lcInstr1,indRubrique} = {lcInstr2,indRubrique}

FIN

numeriqueVersChaine()