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

WinDev Discussion :

[WD12] Executer une procédure locale à partir d'une globale


Sujet :

WinDev

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2003
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 9
    Points : 8
    Points
    8
    Par défaut [WD12] Executer une procédure locale à partir d'une globale
    Bonjour,
    Je souhaite, à partir d'une procédure globale du projet, lancer l'exécution d'une procédure locale à une fenêtre de mon projet.
    Est ce que cela est possible ? Comment ?

    Merci.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 31
    Points : 24
    Points
    24
    Par défaut
    Salut, c'est pas génial comme type de programmation, mais tu peux faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mafenetre.maprocedure()

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 498
    Points : 461
    Points
    461
    Par défaut
    Tu passes le nom de ta procédure locale en paramètre de ta procédure globale!!!

  4. #4
    Futur Membre du Club
    Inscrit en
    Octobre 2003
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    Merci pour votre intérêt.
    Concernant le nom de la procédure, ce n'est pas un problème, il est fixe dans ma procédure globale.

    Par contre la syntaxe avec un point ne fonctionne pas (j'avais essayé auparavant avec deux points, mais pas bon non plus), il me fait une erreur comme quoi il ne connait pas le champ FEN_Mafenetre lorsque je fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FEN_Mafenetre.Maprocédure(param)
    Merci.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 498
    Points : 461
    Points
    461
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FEN_Mafenetre.Maprocédure(param)
    Maprocédure c'est ta procédure globale??? Si c'est le cas, tu n'as pas besoin de préciser ta fenêtre!!

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 31
    Points : 24
    Points
    24
    Par défaut
    Y'a pas de raison que ca te mette une erreur, vérifies peut être que ta fenetre soit bien inclue au projet !!

  7. #7
    Futur Membre du Club
    Inscrit en
    Octobre 2003
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    Je me suis peut etre mal exprimé.
    Le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    FEN_Mafenetre.Maprocédure(param)
    est dans ma procédure globale.
    Maprocédure est ma procédure locale.
    La fenêtre est bien reconnue d'après la coloration syntaxique.
    Le message d'erreur est le suivant :
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    Erreur à la ligne 229 du traitement Procédure globale EntreEnStock.
    Le champ FEN_Palettisation est inconnu.
     
    Informations techniques
     
    Projet : LinProd
     
    Dump de l'erreur du module <WD120VM.DLL> <12.01Ah>.
     
    - Appel WL :
    Traitement de <Procedures globales de LinProd.EntreEnStock>, ligne <229>, thread <0>
     
    - Niveau : erreur fatale (EL_FATAL)
     
    - Code erreur : 1017
     
    - Code erreur WD55 : 0
     
    - Pas de code d'erreur système
     
    - Pas de message d'erreur système
     
    - Que s'est-il passé ?
    Le champ FEN_Palettisation est inconnu.
     
    - Pas d'info de debug
     
    - Infos attachées :
    EIT_PILEWL :
    Procédure globale EntreEnStock (Procedures globales de LinProd.EntreEnStock), ligne 229
    Clic sur Cmd_Lancement (FEN_Main.Cmd_Lancement), ligne 10
    EIT_COMPOSANT :
     
    EIT_DATEHEURE : 29/09/2008 15:53:55
     
    - Identifiant dans le .err : 1017
     
     
    Assistance
    Merci.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 31
    Points : 24
    Points
    24
    Par défaut
    Question bete: est ce que ta fenetre fais bien partie de ton projet (ce qui pourrait justifier que ta procedure globale ne la reconnaisse pas

  9. #9
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Si le fenêtre n'est pas ouverte, elle ne sera pas reconnue.
    Et, comme le dit darkdrow, ce n'est pas génial comme technique.

    Passe simplement ta procédure locale en globale, ce sera beaucoup plus simple et efficace.

  10. #10
    Futur Membre du Club
    Inscrit en
    Octobre 2003
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    Finalement j'ai passé les procédures dont j'avais besoin en procédures globales.

    Merci.

    Teksi.

  11. #11
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut Exécuter une procédure avec la fonction ExécuteTraitement()
    Bonjour,

    Le besoin exprimé Teksi est aussi le mien.
    Citation Envoyé par Teksi Voir le message
    Je souhaite, à partir d'une procédure globale du projet, lancer l'exécution d'une procédure locale à une fenêtre de mon projet.
    Est ce que cela est possible ? Comment ?
    En fait mon application ouvre des fenêtres sœurs qui "instancient" diverses fenêtres de l'application.
    Comme il peut y avoir plusieurs copies des mêmes fenêtres, je les distingue par leurs alias.

    Les fenêtres possèdent toutes une procédure locale que j'appelerai ici ProcLocale.
    Cette procédure locale peut être implémentée différemment selon la fenêtre:
    ==> DONC PAS POSSIBLE D'UTILISER UNE PROCÉDURE GLOBALE

    Voilà la solution toute simple, où sFenAlias est le nom alias d'une fenêtre ouverte à l'écran:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ExécuteTraitement(sFenAlias + ".ProcLocale", trtProcédure)
    On peut passer des paramètres et récupérer un résultat.
    _

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 22/12/2011, 16h26
  2. Réponses: 6
    Dernier message: 08/09/2010, 17h25
  3. Réponses: 11
    Dernier message: 03/06/2010, 10h39
  4. Réponses: 0
    Dernier message: 11/09/2009, 18h25
  5. Réponses: 3
    Dernier message: 10/04/2007, 13h53

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