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 :

Validation automatique d'une fenêtre non WinDev


Sujet :

WinDev

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 60
    Points : 31
    Points
    31
    Par défaut Validation automatique d'une fenêtre non WinDev
    Bonjour, voila mon problème : Je veux établir une connexion vers SAP silencieusement. C'est à dire qu'au niveau visuel (de l'utilisateur du logiciel) rien ne doit se voir.

    Voila mon code :
    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
     
    PROCEDURE SAP_CONNECT()
     
    // Création de l'objet SAP
    R3 est un objet Automation dynamique
    R3 = allouer un objet Automation "SAP.Functions"
     
    // Paramètres de connection
    R3>>Connection>>System = "XXX"
    R3>>Connection>>SystemNumber = "XXX"
    R3>>Connection>>ApplicationServer = "XXX"
    R3>>Connection>>client = "XXX"
    R3>>Connection>>user = "XXX"
    R3>>Connection>>Password = "XXX"
    R3>>Connection>>language = "XXX"
     
    SI R3>>Connection>>LOGON(0,Faux) <> Vrai ALORS
      Erreur("Erreur de connection SAP")
      RETOUR
    SINON
      Info("Connexion réussie")
      autRFC_FONCTION est un objet Automation dynamique = R3>>Add("Z_PP_SC
    RAP_NEW_ROUT")
     
      resultat est un booléen = autRFC_FONCTION>>Call
      SI resultat = Vrai ALORS
        Info("RFC Z_PP_SCRAP_NEW_ROUT chargée")
        R3>>Connection>>LOGOFF // Déconnection
      SINON
        Erreur("Une erreur a été détectée pendant la récupération des données.")
        R3>>Connection>>LOGOFF
      FIN 
    FIN
    Ma connexion fonctionne mais ma ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SI R3>>Connection>>LOGON(0,Faux) <> Vrai ALORS
    provoque l'affichage d'une fenêtre SAP de connexion qui reprend mes paramètres de connexion. J'ai qu'à appuiyé sur entrée et je suis connecté.

    Comment faire pour valider automatiquement cette fenêtre ??????

    J'ai essaiyé envoietouche({ENTREE}) juste après cette ligne et après le SINON mais le programme bloque.

    ?????

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    Il n'est pas possible dans les paramètres de l'objet automation de définir une connexion silencieuse ( sans fenetre de connexion) ?

    Auquel cas il faudrait récupérer un handle sur le bouton "valide" de la fenetre de connexion puis envoyer le message WM_CLICK...


    Pour récupérer un handle sur un bouton je crois que l'api FindWindow saurait le faire...Par contre il faut connaître le nom de la class utilisé...

  3. #3
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 60
    Points : 31
    Points
    31
    Par défaut
    Tu pourrais développez un peu plus stp,
    Je vois pas du tout comment faire ce handle ...

  4. #4
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    Ok exemple simple en Windev.

    Tu as un bouton nommée BTN_1.

    Si tu veux executer le code de clic sur ce bouton tu vas lui envoyer un message (au sens windows WM_CLICK je crois faut lire la doc dans windev ca y'est)

    En windev ca donnerait :

    SendMessage(Handle(BTN_1),WM_CLICK)


    La fonction Handle en windev a une equivalence en API WIndow-> FindWindow ou FindWindowEX.Il faut te documenter un peu dessus(site msdnl library)

    Tu peux aussi faire une demande sur le forum Windows pour savoir comment récupérer le handle d'un objet(au sens bouton,fenetre,champs de saisie) d'une application extérieur.

    D'ailleurs il me semble déja avoir croisé ce genre de discution...

  5. #5
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 60
    Points : 31
    Points
    31
    Par défaut
    ok merci je vais essaiyer

Discussions similaires

  1. Réponses: 3
    Dernier message: 17/07/2012, 14h31
  2. [AC-2002] Validation automatique d'une saisie
    Par ROUSSIGNE dans le forum IHM
    Réponses: 2
    Dernier message: 10/11/2009, 10h52
  3. Validation automatique d'une boîte de dialogue
    Par FenX34 dans le forum Général VBA
    Réponses: 5
    Dernier message: 19/05/2009, 10h51
  4. Valider automatiquement après une saisie ?
    Par nd25 dans le forum Débuter
    Réponses: 3
    Dernier message: 05/08/2008, 13h03
  5. [VB-E] Validation automatique d'une boite de dialogue
    Par Meryan dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/04/2007, 10h51

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