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 ?