2016-12-27 1 views

Répondre

1

Ce bout de code fait « key1 » de votre cadre sensible. Pour être sensible, il doit apparaître ...

Donc, la question est pourquoi est-ce bloc de code en cours d'exécution? Vous dites "je ne sais pas pourquoi ce code est appelé à nouveau". Personne d'autre ne le fera parce que vous avez partagé un si petit bout du code général. Apparemment, le flux de contrôle vous emmène à travers ce bloc, donc vous devriez travailler à comprendre pourquoi. Vous pouvez essayer d'utiliser le débogueur pour parcourir l'exécution du code ou insérer des instructions MESSAGE à l'ancienne pour aller au fond.

Si vous voulez contournements le problème que vous pouvez envelopper ce petit bout de code dans une logique conditionnelle. Définir et définir une variable qui détermine l'état désiré du cadre f-sélection et l'utiliser pour contrôler la logique de sensibilité:

define variable f-shouldBeVisible as logical no-undo. 

if .... then 
    f-shouldBeVisible = yes. 
else 
    f-shouldBeVisible = no. 

... 

else 
    do: 
    if f-shouldBeVisible then 
     assign ll-lgst-key1:SENSITIVE in frame f-selection = TRUE 
      ll-lgst-key2:SENSITIVE in frame f-selection = FALSE 
     . 
    end. 

Bien sûr, qui ressemble un peu ridicule - mais il est juste un exemple avec grossièrement sur -simplifié la logique.

OTOH si vous en savez assez pour définir la variable que vous devez être en mesure de comprendre pourquoi la branche ELSE est en cours d'exécution. Mais c'est peut-être un premier pas utile.

+0

Merci pour la réponse, je partage un petit bloc de code parce que c'est un projet vraiment grand (du travail) et tous les fichiers sont connectés, également il y a tellement comprend et d'autres types de fichiers .. En outre, nous utilisons Ultra modifier pour développer et modifier le code. Cette partie du code est aussi une partie de la variable de chaîne que j'envoie dans un fichier .. J'ai pensé à ajouter if-else mais les codes sont énormes donc je ne peux pas être sûr de ce que je vais affecter ou exactement pour l'ajouter .. Merci quand même! – hbc