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

Forms Oracle Discussion :

[Forms] : Gestion de Navigation entre module


Sujet :

Forms Oracle

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 422
    Points : 201
    Points
    201
    Par défaut [Forms] : Gestion de Navigation entre module
    Salut,

    Voici le Scénario

    Un module A appel un module B.
    Lorsque vous quittez le module B et que vous revenez sur A,
    Quel Evenement utilisez-vous pour déterminer que vous êtes de retour sur A via l'exit de B sans utilisation d'une variable globale.

    Moi j'utilise When-Window-Activated, mais je ne sais pas si c'est la bonne manière de faire.

    Et vous, comment faites-vous ?

  2. #2
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    je fais une variable globale que je valorise en WHEN_NEW_BLOCK_INSTANCE... du moins dans mes souvenirs

    j'avais pas tout lu

    Pourquoi sans vaiable globale ???

    Et comment le trigger que tu utilises te permet de te passer de variable globale ?

  3. #3
    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
    Orafrance à raison. ll vous faut les deux.

    Une variable globale initialisée à 'Oui' (par exemple) avant le CALL_FORM qui permet de gérer une boucle d'attente dans votre code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Loop
      Exit when :GLOBAL.WAIT = 'Non' ;
    End loop ;
    Cette globale étant remise à 'Non' dans le trigger WHEN-WINDOW-ACTIVATED

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 422
    Points : 201
    Points
    201
    Par défaut
    Effectivement, j'utilise une variable global mais je me demandais si il n'y a pas une autre solution.

    Ce que je trouve dommage c'est lors de l'appel de module B via un call_form ou open_form le code à travers le When-button-pressed de mon action_item le code qui suit s'effectue directement et non pas après la fermeture du module B

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    WHEN-BUTTON-PRESSED
     
       CALL_FORM('MODULE_B.FMX');
     
       -- Le code qui suit normalement devrait s'executer lorsque je sors du module_b
       -- Il le fait directmemnt. Il n'attend pas que je reviens du mudule B
       execute_query;
       first_record;
       loop;
          if -- test PK -- OR :system.last_record = TRUE then 
             exit;
          end if;
          next_record;
       end loop;

  5. #5
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    Et bien pourquoi ne pas mettre ce code sur le trigger déclenché à la sortie de module_B (POST_BLOCK par exemple, de mémoire)

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 422
    Points : 201
    Points
    201
    Par défaut
    Et comment tu fais l'execute_query de ton module a alors que t'es dans le B ??

  7. #7
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    Citation Envoyé par patmaba
    -- Le code qui suit normalement devrait s'executer lorsque je sors du module_b
    -- Il le fait directmemnt. Il n'attend pas que je reviens du mudule B
    Là moi je comprends que le code ce fait dans A alors que tu veux le faire dans B ce qui est évident si ce code est dans le A... j'ai du raté un truc où ton probléme n'est pas très clair

    Merci d'apporter plus de précision sur la cinématique du process

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 422
    Points : 201
    Points
    201
    Par défaut
    Et toi tu parle de faire l'execute_query a dans le POST_BLOCK, n'est ce pas ?

  9. #9
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    Exact... c'était idiot

    A ma décharge, j'ai pas touché Forms depuis plus d'un an

    Et pourquoi pas sur le trigger qui déclence le passage de B vers A ?

  10. #10
    Membre actif
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 422
    Points : 201
    Points
    201
    Par défaut
    quel est l'event qui se déclanche ? c'est sa la vraie question.

    Moi j'ai rien trouvé d'autre que le When-Window-Activated.

    C'est pour cette raison que je demande si il n'y pas une autre solution.

  11. #11
    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
    Je ne connais pas d'autre solution, mais implémenter un boucle vide qui attend le changement de la variable globale, ça ne coute pas cher.

  12. #12
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    Citation Envoyé par patmaba
    quel est l'event qui se déclanche ? c'est sa la vraie question.

    Moi j'ai rien trouvé d'autre que le When-Window-Activated.

    C'est pour cette raison que je demande si il n'y pas une autre solution.
    bah quelle action est faite pour passer d'un module à l'autre ?

  13. #13
    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
    Il y a également l'évènement WHEN-WINDOW-DEACTIVATED qui se déclenche lorsque la forme appelante perd le focus.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. FORMS DEVSUITE, prbleme navigation entre BLOCS
    Par tigerbouzo dans le forum Forms
    Réponses: 9
    Dernier message: 27/02/2009, 10h57
  2. Réponses: 1
    Dernier message: 05/01/2008, 19h15
  3. pb navigation entre 2 forms
    Par daliok dans le forum Forms
    Réponses: 10
    Dernier message: 31/12/2007, 17h54
  4. Navigation entre FORMS
    Par stephane77fr dans le forum Windows Forms
    Réponses: 10
    Dernier message: 19/06/2007, 13h48
  5. navigation entre les forms
    Par winners12 dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 28/04/2007, 23h04

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