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

Lazarus Pascal Discussion :

Automation OOo, une fenêtre de trop


Sujet :

Lazarus Pascal

  1. #1
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 485
    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 485
    Points : 10 187
    Points
    10 187
    Par défaut Automation OOo, une fenêtre de trop
    Bonjour

    depuis les dernières mises à jour d'OOo, j'ai un problème an Automation. En effet, dans une de mes applications, je mets à jour des documents OOo de manière transparente, c'est à dire que j'ouvre le document "caché", je fais les modifs et je ferme. C'est transparent pour l'utilisateur, et c'est ce qu'il faut.

    Mais depuis quelques temps, la même manip (pas de changement de code) m'ouvre systématiquement une fenêtre OpenOffice.org, celle que l'on voit quand on clique sur le raccourci OpenOffice, avec des icones pour ouvrir des documents.

    Je ne veux pas de cette fenêtre ! Ça doit être possible car quand je clique sur calc.exe, ça n'ouvre pas cette fenêtre, ni même en double cliquant sur un fichier OOo dans l'explorateur, mais je ne sais pas comment faire, et la doc sur l'api OOo est des plus floues !

    Est-ce que quelqu'un a résolu ce problème ?

    Merci d'avance
    JS

  2. #2
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 785
    Points : 5 916
    Points
    5 916
    Par défaut
    Bonjour,

    J'ai été confronté au même problème avec LibreOffice.
    Je l'ai traité de la manière suivante après avoir fureté sur de nombreux sites : en lancant LibreOffice avec le paramètre invisible, le reste du code appelant les feuilles de calcul n'ayant pas été modifié.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    // ...
    const
      APPLICATION = '"C:\Program Files\LibreOffice 3.5\program\soffice.exe"';
      REPERTOIRE = '"C:\Program Files\LibreOffice 3.5\"';
      ARGUMENT = '-invisible';
    // ...
      ShellExecute(Handle, 'open', APPLICATION, ARGUMENT, REPERTOIRE, SW_SHOW);
    // ...
    --
    Philippe.

  3. #3
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 485
    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 485
    Points : 10 187
    Points
    10 187
    Par défaut
    Intéressant, merci de cette remontée d'info.

    Par curiosité, le fait de lancer LibreOffice par un ShellExecute, n'empêche pas le démarrage du service automation ?

    JS

  4. #4
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 785
    Points : 5 916
    Points
    5 916
    Par défaut
    Bonjour,
    Citation Envoyé par Jon Shannow Voir le message
    Par curiosité, le fait de lancer LibreOffice par un ShellExecute, n'empêche pas le démarrage du service automation ?
    Non, cela fonctionne bien.
    Sous windows, en suivant les opérations avec le gestionnaire de fichier, on voit même apparaitre temporairement une 2° instance de LibreOffice...
    --
    Philippe.

  5. #5
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 485
    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 485
    Points : 10 187
    Points
    10 187
    Par défaut
    Cool,

    Bon je referais un essai avec LibreOffice. Pour l'instant je travaille avec OOo, et les résultats sont concluants.

    Merci
    A+
    JS

  6. #6
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 485
    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 485
    Points : 10 187
    Points
    10 187
    Par défaut
    J'ai pas essayé LibreOffice, mais ta méthode fonctionne avec OOo.

    Par contre, par curiosité, quel ShellExecute utilises-tu ? Celui de l'unité Windows ou celui de l'unité ShellApi ?

    JS

  7. #7
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 785
    Points : 5 916
    Points
    5 916
    Par défaut
    Bonjour,
    Citation Envoyé par Jon Shannow Voir le message
    J'ai pas essayé LibreOffice, mais ta méthode fonctionne avec OOo.
    Pour ma part, ayant migré depuis longtemps de OOo ver LO, j'ai préféré prévenir en citant LO pour mes mises en oeuvre...
    Citation Envoyé par Jon Shannow Voir le message
    Par contre, par curiosité, quel ShellExecute utilises-tu ? Celui de l'unité Windows ou celui de l'unité ShellApi ?
    Tout comme Delphi, j'utilise ShellApi. Par contre, attention à bien typer les paramètres lors de l'appel; dans le cas contraire Lazarus 0.9.30.4 / FPC 2.6.0 braille qu'il ne sait pas choisir entre les différentes surcharges...
    --
    Philippe.

  8. #8
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 485
    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 485
    Points : 10 187
    Points
    10 187
    Par défaut
    Citation Envoyé par Ph. B. Voir le message
    Bonjour,
    Pour ma part, ayant migré depuis longtemps de OOo ver LO, j'ai préféré prévenir en citant LO pour mes mises en oeuvre...
    OOo a visiblement été repris par Apache, j'avoue ne pas avoir suivi l'histoire. Tout ces rachats, reprises... Bref, je pensais passer à LO mais, cette histoire de fenêtre de trop m'a refait basculé vers OOo... pour rencontrer le même problème. Visiblement les 2 applications sont très proches, donc pas de quoi fouetter un chat.

    Citation Envoyé par Ph. B. Voir le message
    Tout comme Delphi, j'utilise ShellApi. Par contre, attention à bien typer les paramètres lors de l'appel; dans le cas contraire Lazarus 0.9.30.4 / FPC 2.6.0 braille qu'il ne sait pas choisir entre les différentes surcharges...
    J'avais mis un Use ShellApi mais il ne trouvait pas la constante SW_SHOW alors j'ai rajouté l'unité Windows dans le use, et la il ne savait pas quel ShellExecute utiliser. Du coup, j'ai viré ShellApi et ça fonctionne. Quelles différence entre ces 2 fonctions ?

    JS

  9. #9
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 785
    Points : 5 916
    Points
    5 916
    Par défaut
    Citation Envoyé par Jon Shannow Voir le message
    J'avais mis un Use ShellApi mais il ne trouvait pas la constante SW_SHOW alors j'ai rajouté l'unité Windows dans le use, et la il ne savait pas quel ShellExecute utiliser. Du coup, j'ai viré ShellApi et ça fonctionne. Quelles différence entre ces 2 fonctions ?
    Aucune... Les deux s'interfacent à la fonction ShellExecuteA de la dll shell32.
    En fait on peut se limiter à l'unité Windows. Dans mon cas, il s'agissait d'un code initial Delphi porté vers Lazarus , d'où le passage par ShellApi.
    Par contre, ShellApi propose aussi l'interface vers ShellExecuteW (widestring).
    --
    Philippe.

Discussions similaires

  1. Réponses: 16
    Dernier message: 20/05/2011, 17h27
  2. Affichage trop tardif d'une fenêtre (QWidget)
    Par qhardy dans le forum Débuter
    Réponses: 7
    Dernier message: 06/04/2010, 18h22
  3. Réponses: 4
    Dernier message: 16/09/2008, 17h24
  4. Réponses: 1
    Dernier message: 13/08/2006, 02h38
  5. icône d'une fenêtre fille
    Par bastien dans le forum C++Builder
    Réponses: 6
    Dernier message: 27/05/2002, 13h46

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