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

 Delphi Discussion :

OpenDialog et dossier de l'application


Sujet :

Delphi

  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 423
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 423
    Points : 1 326
    Points
    1 326
    Par défaut OpenDialog et dossier de l'application
    Bonjour à toutes et à tous,

    Petite question, quand j'exécute un TOpenDialog (op1), j'utilise sa propriété "initialdir", donc la logique voudrait que ceci soit exact :

    Dans le Oncreate :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
     op1.InitialDir :=  ExtractFilePath(Application.ExeName);
    Test :

    1) j'ai deux dossier nommé "1" et "2", je copie mon application dans le dossier "1" et je l'execute, lors du choix de mon fichier avec un TOpenDialog, je peux charger ce qui se trouve dans ce dossier "1".

    2) je copie mon application dans le dossier "2" et je l'execute, en principe lors du choix de mon fichier avec un TOpenDialog, je devrai charger ce qui se trouve dans ce dossier "2" et pourtant, il me ramène au dossier "1".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    procedure TFchoix.BmusiqueClick(Sender: TObject);
    begin
    chappli := ExtractFilePath(Application.ExeName);
     
    op1.InitialDir := ExtractFilepath(Application.ExeName);
    //Op1.Options := [ofNoChangeDir];
    op1.Filter:='Tous (*.mp3; *.Wav; *.Mid; *.Wma)|*.mp3; *.Wav; *.Mid; *.Wma|MP3 (*.mp3)|*.mp3|Wav (*.wav)|*.wav|Midi (*.mid)|*.mid|Wma (*.wma)|*.wma';
     
    if not op1.Execute then
     
    exit else begin
     
    ...............;
    Edit : j'ai essayé aussi en créant directement mon TOpenDialog sans résultat !

    Existe t'il une explication ?

    Merci d'avance,

    Cincap

  2. #2
    Membre confirmé
    Avatar de diden138
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    714
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 714
    Points : 589
    Points
    589
    Par défaut re
    Bonjour,
    C'est un bug connu sous certaines version de windows dis nous ton environnement, en faite il faut forcer le changement de répertoire, allez un petit bout de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    chappli := ExtractFilePath(Application.ExeName);
     
    ForceCurrentDirectory := True;
     
    SetCurrentDir (chappli);
    Voila, tu l'a compris on force le changement de répertoire courant, et on utilise SetCurrentDir au lieu de InitialDir


    Cordiales Salutations,
    et vint le 20siècle et l'homme se mit à réflechir comme la machine auteur: diden138
    Langage: Pascal,OCaml,Delphi,c/c++.
    Langages web:Xhtml,Css,Php/Mysql,Javascript,Actionscript 2.0
    Plate forme:Windows XP Pro SP2./Red Hat 9.0/SUSE 10.2
    Config :Intel P4 3.2GHZ,2MO cach,512 RAM.
    Outils:Tp7,objective caml,Delphi 6 perso, C++builder 6,Visual C++ Express edition sous win,code-block sous linux(Ubuntu) .

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 423
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 423
    Points : 1 326
    Points
    1 326
    Par défaut
    @ Diden138, excellent et bien vu, je n'avais pas trouvé de réponse à ce sujet sur les forums ou j'ai mal interprété.

    Sur XP pas de problème pourtant !

    Sinon je suis sous Seven 64Bits et D6.

    Encore merci,

    @+,

    Cincap

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

Discussions similaires

  1. Intégrer un dossier dans une application.
    Par Woote dans le forum Windows Forms
    Réponses: 2
    Dernier message: 27/08/2009, 17h13
  2. [WD11] comment nettoyer le dossier de mon application
    Par dj_techno dans le forum WinDev
    Réponses: 1
    Dernier message: 06/04/2009, 22h20
  3. Réponses: 5
    Dernier message: 07/08/2008, 14h36
  4. Réponses: 2
    Dernier message: 03/06/2008, 21h56
  5. Réponses: 2
    Dernier message: 27/05/2008, 18h57

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