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

Oracle Discussion :

[forms 6i] rafraichissement graphique + trigger de module


Sujet :

Oracle

  1. #1
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut [forms 6i] rafraichissement graphique + trigger de module
    Bonjour tout le monde,

    Je travaille sur forms 6i et je viens de constater un fait très "étrange".
    A l'exécution j'ai le contexte et la pile d'appel suivante :
    AN_TYPE est un item DISABLED
    AN_CODE est un item ENABLED

    KEY-EXIT => CLE_EXIT => ... => REVENIR_ETAT_INITIAL => ...
    Quand je mets les 2 instructions suivantes dans le trigger précédent KEY-EXIT situé au niveau module :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ACTIVE('B2800.AN_TYPE', 'O', 'N', 'O', 'O', 'O');
    GO_ITEM('B2800.AN_TYPE');
    alors tout se déroule parfaitement.
    Mais si je déplace ces 2 instructions dans la procedure utilisateur REVENIR_ETAT_INITIAL alors j'obtiens l'erreur :
    FRM-41016 Attribut DISPLAYED irrecevable pour l'élément courant B2800.AN_CODE
    L'instruction qui provoque cette erreur est invoquée (indirectement) par REVENIR_ETAT_INITIAL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SET_ITEM_PROPERTY('B2800.AN_CODE', VISIBLE, PROPERTY_FALSE);
    Cette erreur intervient car l'item AN_TYPE n'est pas enabled à l'exécution de cette instruction BIEN QU'il soit passé dans les 2 instructions précédentes.

    Remarque :
    1/ j'ai ajouté une 3ème instruction qui est un appel à la méthode SYNCHRONIZE mais cela ne change rien.
    2/ je ne modifie pas les proprétés des items AN_CODE et AN_TYPE entre KEY-EXIT et REVENIR_ETAT_INITIAL

    ATTENTION : je ne demande pas à ce que vous débogguiez mon code car je l'ai fait moi-même mais j'aimerais comprendre le pourquoi du comment.

    Merci d'avance.

    PS : pour info, la procedure ACTIVE effectue une suite de SET_ITEM_PROPERTY avec PROPERTY_TRUE sur les paramètres ENABLED, VISIBLE, etc.
    Modérateur des forums Oracle et Langage SQL
    Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum

  2. #2
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Le message est clair : vous ne pouvez pas modifier cette propriété sur l'item courant. positionnez-vous sur un autre item pour utiliser votre instruction.
    Rédacteur Oracle (Oracle ACE)
    Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
    Je ne réponds pas aux questions techniques par MP
    Blogs: Forms-PL/SQL-J2EE - Forms Java Beans

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Merci de votre rapidité SheikYerbouti

    Mon post n'est peut être pas très clair mais ça je l'ai vite compris.
    Ce qui est "étrange" c'est qu'AVANT d'exécuter l'instruction qui soulève l'erreur en question j'active la zone AN_TYPE et je fais un GO_ITEM sur cette zone MAIS avant d'arriver à cette instruction, cette zone ne s'active pas et par conséquent elle ne reçoit pas le focus.

    Pour moi, dans ce contexte, "le rafraichissement des éléments graphiques n'est effectué qu'APRES l'exécution de toutes les lignes de code".

    Donc tout semble indiquer qu'il faut que j'utilise une méthode explicite de synchronisation telle que SYNCHRONIZE mais je n'y arrive pas...
    Modérateur des forums Oracle et Langage SQL
    Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum

Discussions similaires

  1. [Forms Builder] Gif animé dans un module
    Par Diane L'Hérault dans le forum Forms
    Réponses: 15
    Dernier message: 07/08/2009, 17h14
  2. [Forms]creer un menu vers des modules forms6
    Par mike600river dans le forum Forms
    Réponses: 2
    Dernier message: 07/12/2006, 09h28
  3. [FORMS 6i] Rafraichissement
    Par ousta dans le forum Forms
    Réponses: 2
    Dernier message: 10/04/2006, 14h39
  4. [Forms 6i] Item et triggers
    Par macben dans le forum Oracle
    Réponses: 6
    Dernier message: 15/03/2006, 15h52
  5. [Form/ssForm] rafraichissement des données
    Par michaelbob dans le forum Access
    Réponses: 3
    Dernier message: 14/10/2005, 11h05

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