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 :

Tester existence objet OLE pour éviter Crash appli [WD21]


Sujet :

WinDev

  1. #1
    Membre averti Avatar de droliprane
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2005
    Messages : 710
    Points : 444
    Points
    444
    Par défaut Tester existence objet OLE pour éviter Crash appli
    Bonjour à tous,

    j'utilise ce bout de code pour ouvrir une fenêtre outlook depuis mon appli :

    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
    PROCEDURE ouvreFenetreMail(PJ est une chaîne)
     
    OUTLOOK est un objet OLE dynamique
    mail est un objet OLE dynamique
    nItem est un entier
     
    nItem = 0
     
    OUTLOOK = allouer un objet OLE "Outlook.Application"
     
    mail = OUTLOOK>>CreateItem(nItem)
    mail>>to = ""
    mail>>subject = ""
    mail>>HTMLBody = ""
    mail>>attachments>>add(PJ)
    mail>>Display()
     
    libérer mail
    libérer OUTLOOK
    Je ne souhaite pas utiliser EmailLanceAppli, qui parfois, pour une raison que j'ignore, mets 10-15 secondes avant d'ouvrir une fenêtre outlook. Tandis qu'avec l'objet OLE, c'est instantané.

    En revanche, une partie des accès à mon appli se fait au travers d'un serveur TSE (RDP) sur lequel il n'y a pas de pack Office d'installé (pour des raisons de coûts de CAL RDS + CAL Office).

    Et donc mon script plante car, je cite, "L'objet automation 'Outlook.Application' n'est pas installé sur votre système."

    Du coup, je voudrais au moins empêcher le crash de l'apppli, en détectant que l'objet OLE n'est pas dispo sur l'environnement.

    J'ai testé SI OUTLOOK = null mais c'est trop tard, c'est au moment de l'allocation que ça plante.

    Une idée ?

    Bien à vous.

    droliprane
    'Diviser chacune des difficultés en autant de parcelles qu’il se pourrait et qu’il serait requis pour les mieux résoudre', René Descartes

    => Maya GPAO

  2. #2
    Membre averti Avatar de droliprane
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2005
    Messages : 710
    Points : 444
    Points
    444
    Par défaut
    Je me réponds à moi-même, une bête gestion d'exception a réglé le problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    QUAND EXCEPTION DANS
    	OUTLOOK = allouer un objet OLE "Outlook.Application"
    FAIRE
    	Erreur("Outlook n'est pas installé sur ce poste." + RC + RC + "Si vous êtes en bureau distant, il est normal que vous ne puissiez pas profiter de cette fonctionnalité.")
    	RETOUR
    FIN
    Résolu
    'Diviser chacune des difficultés en autant de parcelles qu’il se pourrait et qu’il serait requis pour les mieux résoudre', René Descartes

    => Maya GPAO

  3. #3
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 384
    Points : 9 745
    Points
    9 745
    Par défaut
    T'aurais pas oublié d'appuyer sur ?
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

  4. #4
    Membre averti Avatar de droliprane
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2005
    Messages : 710
    Points : 444
    Points
    444
    Par défaut
    Voilà qui est fait, désolé
    'Diviser chacune des difficultés en autant de parcelles qu’il se pourrait et qu’il serait requis pour les mieux résoudre', René Descartes

    => Maya GPAO

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 26/11/2015, 15h32
  2. Tester existence objet
    Par frisouillie dans le forum jQuery
    Réponses: 3
    Dernier message: 11/06/2012, 10h20
  3. Tester existence objet
    Par Sylver--- dans le forum Langage
    Réponses: 4
    Dernier message: 29/03/2007, 10h02
  4. Tester l'existence d'un package depuis une appli.net
    Par meuledor dans le forum Oracle
    Réponses: 3
    Dernier message: 27/09/2005, 16h18
  5. [Appli] Recherche d'un type d'objet précis pour interface
    Par superpatate dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 05/08/2005, 12h02

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