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 :

Lien, URL, chemin relatif et portabilité

  1. #1
    Membre régulier
    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
    Points : 113
    Points
    113
    Par défaut Lien, URL, chemin relatif et portabilité
    Bonjour,

    J'ai une application, qui tourne sous Windows XP, où des liens hypertextes ouvrent des fichiers type pdf.

    Les liens url sont du type suivant, toujours en chemin relatif, car c'est une appli qui voyage sur des clés USB et différents réseaux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    file:///Database/monFichier.pdf
    Ces liens s'ouvrent par un SIGNAL-SLOT, associé à une fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    connect(ui->monTextBrowser, SIGNAL(anchorClicked(const QUrl &)),this, SLOT(lienHypertexte(const QUrl &)));
     
    void MainWindow::lienHypertexte(const QUrl &lien){
        QDesktopServices::openUrl(lien);
    }
    Bref ça roule nickel... sauf sous Windows 7, plus rien ! Les liens url continuent à fonctionner pour du http ou du fichier en chemin absolu, mais pour les fichiers en chemin relatif, c'est aux abonnés absents

    En testant les chemins recherchés,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     QString MyAppFilePath =  QCoreApplication::applicationFilePath();
    je tombe sur "debug/monApplication.exe" ...

    Quelqu'un a-t-il déjà rencontré ce problème ? et surtout comment corriger cette anomalie pour que cela reste compatible avec les 2 versions de Windows (on se met progressivement à Seven, mais cela va prendre au moins 2 ans).

    Merci et bonne soiré à tous

  2. #2
    Membre régulier
    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
    Points : 113
    Points
    113
    Par défaut
    Après maintes et maintes recherches, voilà une solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    void MainWindow::lienHypertexte(const QUrl &lien){
     
        if (lien.toString()[0] == 'f'){
            QUrl url;
            QString lienLocalFichier = lien.toLocalFile();
            QString cheminApplication =  QCoreApplication::applicationDirPath();
            url = QUrl::fromLocalFile(cheminApplication + lienLocalFichier);
            QDesktopServices::openUrl(url);
        }
        else
            QDesktopServices::openUrl(lien);
    }
    c'est-à-dire que pour les liens type 'file', on associe le lien local avec le chemin de l'application. Pour les autres types, on reste dans la version classique.

    Lors du développement, ça oblige néanmoins à disposer de ses données dans les répertoires debug et release... but nothing's perfect....

    Ca reste quand même étrange que Windows XP et Seven ne réagissent pas de la même manière.

    Bonne journée à tous

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

Discussions similaires

  1. lien hypertexte chemin relatif
    Par jpradeau dans le forum Word
    Réponses: 1
    Dernier message: 04/12/2012, 08h21
  2. [XL-2002] Ecrire des liens hypertexte avec des chemins relatifs
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 22/11/2010, 15h36
  3. xsl fo external-graphic : chemin relatif d'url
    Par belrifou dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 22/05/2009, 11h53
  4. PHP, gestion de fichier : chemin relatif, url, etc..
    Par Tonyryu dans le forum Langage
    Réponses: 6
    Dernier message: 24/04/2009, 09h29
  5. URL Rewriting et chemins relatifs
    Par RuiLouis dans le forum Langage
    Réponses: 1
    Dernier message: 06/02/2008, 23h16

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