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

Langage Delphi Discussion :

SelectDirectory et l'exception EInOutError


Sujet :

Langage Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 247
    Points : 106
    Points
    106
    Par défaut SelectDirectory et l'exception EInOutError
    Bonjour à tous,

    J'ai un petit problème avec SelectDirectory quand je sélectionne dans la boite de dialogue de SelectDirectory le DropDownBox 'Lecteurs:' et que je choisis par erreur le lecteur de CD rom au lieu d'un disque dur alors il génère une exception EInOutError ce qui est tout à fait normal, alors j'ai décidé de gérer l'exception avec try ... except et bien voilà ca ne marche pas pourtant avec le code suivant pour tester si tout est bien configuré ca fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    POUR TESTER MA CONFIGURATION SEULEMENT CA FONCTIONNE BIEN
    Try
        AssignFile(F, 'D:\abracadabra.txt');
        Reset(F);
      except
        on exception do ShowMessage('  EInOutError  ');
      end;
    De plus j'ai fait des tests avec du code qui génère des exceptions du type EZeroDivide et je suis toujours capable d'intercepter l'exception mais si j'exécute le code suivant avec SelectDirectory alors impossible d'intercepter l'exception je me retrouve avec une petit boite de dialogue qui me dit 'X Erreur E/S 21.' qui n'est pas la boite de dialogue qui s'affiche quand on active 'Arrêter sur exceptions Delphi' dans Outils > Options du débogueur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     Try
      if SelectDirectory(Dir, [sdAllowCreate, sdPerformCreate, sdPrompt],0) then
        FavorisPath.Text := Dir;
      except
        on EInOutError do ShowMessage('EInOutError');
      end;
    Peut-être que le code source de SelectDirectory est compilé avec certaines options qui active les arrêts sur exceptions de Delphi 7 ou il y a du code qui gère l'exception dans le source et je n'ai pas le source de SelectDirectory.

    JE VEUX AFFICHER MON MESSAGE LORSQUE SELECTDIRECTORY GÉNÈRE UNE EXCEPTION EINOUTERROR ...

    Avez-vous des suggestions ?

  2. #2
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 730
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 730
    Points : 15 132
    Points
    15 132
    Par défaut
    Salut !
    Citation Envoyé par PiPo123 Voir le message
    Avez-vous des suggestions ?
    Oui !
    Oublie ce vieux machin moche et utilise un truc un peu plus joli au look plus actuel,

    Il y a là quelques lignes de code qui m'affichent une fenêtre à la Explorer, et ma foi, je peux cliquer sur mon lecteur de dvd sans incident.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 247
    Points : 106
    Points
    106
    Par défaut
    Ok,

    Je viens d'essayer le code en question et pas de problème avec le SHBrowseForFolder de Win32 je vais utiliser ca dorénavant.

    Allez voir http://delphi.about.com/od/windowssh.../aa122803a.htm

    Merci.

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

Discussions similaires

  1. EINOUTERROR avec selectDirectory
    Par fabpan dans le forum Langage
    Réponses: 7
    Dernier message: 26/01/2010, 08h40
  2. Réponses: 3
    Dernier message: 01/11/2002, 14h30
  3. Réponses: 2
    Dernier message: 29/09/2002, 10h25
  4. Réponses: 5
    Dernier message: 12/06/2002, 15h12
  5. c: gestion des exceptions
    Par vince_lille dans le forum C
    Réponses: 7
    Dernier message: 05/06/2002, 14h11

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