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

Discussion :

QProcess : exécution partielle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Janvier 2011
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2011
    Messages : 114
    Par défaut QProcess : exécution partielle
    Bonjour,

    Je souhaite lancer QGis à partir d'une appli développée sous Qt.

    En version statique, ça donne dans une fonction SIGNAL/SLOT :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QProcess::startDetached("\"Database\\qgis\\qgis.bat");
    sinon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    QProcess *process = new QProcess(this);
    process->start("\"Database\\qgis\\qgis.bat");
    Les 2 versions de code fonctionnent parfaitement à partir du compil/exe de QtCreator (QGis s'exécute sans problème), mais si je lance mon appli à partir du répertoire release (ou d'un autre), le qgis.bat se lance (apparition de la console DOS) puis s'arrête... et là je !!

    Auriez-vous une piste ? problème de chemin relatif, de dll ??

    Bon après-midi

  2. #2
    Membre confirmé
    Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Janvier 2011
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2011
    Messages : 114
    Par défaut
    Citation Envoyé par dasycarpum Voir le message
    Auriez-vous une piste ? problème de chemin relatif, de dll ??
    Je me permets de revenir vers vous avec mon petit souci (qui commence à devenir grand...). Après une multitude de tests, le fichier batch (qgis.bat) et sa première ligne de commande lancé avec QProcess provoque la ligne de console suivantes à l'exécution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    F:\MonProgramme\relase>set DRV_LTR=F:\MonProgramme\relase\Database\qgis\
    Le même fichier qgis.bat lancé directement depuis l'explorateur de Windows donnera en console
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    F:\MonProgramme\relase\Database\qgis>set DRV_LTR=F:\MonProgramme\relase\Database\qgis\
    La différence est minime mais la première version n'entraînera pas l'exécution de QGis, au contraire de la seconde...

    D'où ma question : quel(s) argument(s) passer à QProcess, ou quel mode lui appliquer pour ajouter ce petit bout de chemin manquant ?

    Merci pour vos lumières...

  3. #3
    Membre confirmé
    Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Janvier 2011
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2011
    Messages : 114
    Par défaut
    Citation Envoyé par dasycarpum Voir le message
    D'où ma question : quel(s) argument(s) passer à QProcess, ou quel mode lui appliquer pour ajouter ce petit bout de chemin manquant ?
    Après un tas de tentatives, voilà ce qui a fini par marcher ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    QString cheminQgis = QDir::toNativeSeparators(QCoreApplication::applicationDirPath()) + "\\Database\\qgis\\";
     
    QProcess *process = new QProcess(this);
    process->setWorkingDirectory(cheminQgis);
    process->start(cheminQgis + "qgis.bat");
    Bon week-end

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

Discussions similaires

  1. Exécution partielle d'un script
    Par diablerouge2000 dans le forum jQuery
    Réponses: 4
    Dernier message: 29/01/2014, 16h19
  2. Transaction partiellement exécutée
    Par eddyphan dans le forum VB.NET
    Réponses: 0
    Dernier message: 03/06/2012, 19h29
  3. Réponses: 1
    Dernier message: 12/08/2009, 11h58
  4. Réponses: 1
    Dernier message: 13/09/2006, 16h10
  5. [ArchiveBuilder][JavaMail] exécution impossible...
    Par Gorthal dans le forum JBuilder
    Réponses: 7
    Dernier message: 10/01/2003, 09h12

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