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:
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:
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 ?