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

Composants VCL Delphi Discussion :

TsaveDialog verrouille le dossier de destination !


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté Avatar de franckcl
    Homme Profil pro
    Developpeur Delphi
    Inscrit en
    Septembre 2004
    Messages
    516
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Developpeur Delphi
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 516
    Par défaut TsaveDialog verrouille le dossier de destination !
    Bonjour,

    Voilà ce qui se passe:

    J'ai ce code tout simple (qui ne fait rien à part ouvrir une fenêtre de dialogue)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure TFormApp.Button1Click(Sender: TObject);
    Var
      D : TSaveDialog;
    Begin
      D := TSaveDialog.Create(application);
      D.execute;
      D.Free;
    end;
    Lorsque j'exécute ce code et que je choisi un fichier dans un dossier "c:\tmp" (fichier existant ou non) et bien tant que l'application est en exécution, le dossier tmp reste verrouillé par l'application (impossible à supprimer ni renommer).

    Cela ne se produit qu'avec mon application, car si je créé une appli VCL toute simple qui ne fait que ça je n'ai pas de souci.

    Que se passe-t-il dans mon appli qui fait que le dossier reste verrouillé ?

    Merci
    Franck

  2. #2
    Membre expérimenté Avatar de franckcl
    Homme Profil pro
    Developpeur Delphi
    Inscrit en
    Septembre 2004
    Messages
    516
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Developpeur Delphi
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 516
    Par défaut
    j'ai identifié la cause mais maintenant je ne sais pas comment résoudre ce problème.

    Voilà la cause (avec XE5):
    Dans Projets / Options / Application : Thème d'execution est à Aucun

    Contournement:
    Si on met "Activer les thèmes d'exécution" on n'a plus le problème.

    Problème:
    Sauf que moi je ne veux pas utiliser les thèmes alors ??? bug ??

    Je suis un peu coincé là ! Si quelqu'un a une idée ?

  3. #3
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par défaut
    Je crois que le lock sur le dossier sélectionné par le SaveDialog c'est parce qu'il devient le dossier en cours à sa sélection
    Tente un SetCurrentDir sur le dossier de ton application
    en changeant le dossier en cours, cela devrait retirer le lock

    En fait comme tu n'utilises pas les mêmes contrôles Windows pour obtenir un rendu différent,
    il semble que cela a plus d'impact que le thème mais aussi leur comportement comme changer le dossier en cours de l'application


    D'ailleurs le manifest par défaut contient aussi une mention de sécurité qui évite un message d'avertissement sur l'utilisation d'un exe sur le réseau
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  4. #4
    Membre expérimenté Avatar de franckcl
    Homme Profil pro
    Developpeur Delphi
    Inscrit en
    Septembre 2004
    Messages
    516
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Developpeur Delphi
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 516
    Par défaut
    Oui c'est la bonne piste.
    J'ai finalement trouvé la solution, il suffit d'activer l'option ofNoChangeDir à l'objet SaveDialog et le problème est résolu.

    merci

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

Discussions similaires

  1. [WD12] fcopiefichier : choix du dossier de destination
    Par Unlimited72 dans le forum WinDev
    Réponses: 12
    Dernier message: 18/08/2008, 15h56
  2. Réponses: 2
    Dernier message: 13/05/2008, 13h38
  3. Copier un dossier sans écraser les dossiers de destination
    Par TSalm dans le forum Administration système
    Réponses: 2
    Dernier message: 14/02/2008, 18h28
  4. verrouiller les dossiers
    Par amazircool dans le forum Windows XP
    Réponses: 3
    Dernier message: 03/09/2007, 11h55
  5. choisir dossier de destination
    Par Invité dans le forum MFC
    Réponses: 5
    Dernier message: 17/10/2005, 14h57

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