Erreur avec SelectDirectory

Résolu
papyvore Messages postés 223 Date d'inscription samedi 15 novembre 2003 Statut Membre Dernière intervention 16 décembre 2021 - Modifié le 16 janv. 2018 à 15:31
papyvore Messages postés 223 Date d'inscription samedi 15 novembre 2003 Statut Membre Dernière intervention 16 décembre 2021 - 24 mars 2018 à 14:05
Bonjour,


if not SelectDirectory('Choisir un dossier', ExtractFileDrive(Dir), Dir, [sdNewUI]) then
exit
else
begin
ScruteDossier(Dir, '*.jpg', attributs, True, '', '');
........
end;

cette solution marche bien
mais celle ci provoque une exception ??? je comprend pas pourquoi

if SelectDirectory('Choisir un dossier', ExtractFileDrive(Dir), Dir, [sdNewUI]) then
begin
ScruteDossier(Dir, '*.jpg', attributs, True, '', '');
..........
end
else
exit;

j'ai une exception sur le if quand je clic annuler; . étonnant pour moi
si quelqu'un peut m'expliquer merci

papyvore

3 réponses

cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
21 mars 2018 à 18:36
bonsoir papyvore,

essaie comme ceci :


procedure SelectionRepertoire;
begin
if SelectDirectory(ChoixRepertoire, [sdAllowCreate, sdPerformCreate, sdPrompt], 0) then
ScruteDossier1.execute
else
exit;
end;


@+
0
papyvore Messages postés 223 Date d'inscription samedi 15 novembre 2003 Statut Membre Dernière intervention 16 décembre 2021 15
22 mars 2018 à 09:08
salut
merci de la proposition j'avais testé cette solution mais ça ne marchait pas d'autant que
if SelectDirectory(Chemin, [sdAllowCreate, sdPerformCreate, sdPrompt], 0) then

et
if not SelectDirectory('Choisir un dossier', ExtractFileDrive(Chemin), Dir, [sdNewUI]) then

n'ouvrent pas la même boite de dialogue.
je reste alors sur ma solution merci quand même.
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
22 mars 2018 à 13:54
Salut,

j'ai testé le bout de code avec Delphi 2009 & Tokyo 10.2
et j'ai pas eut d'erreur !!!


0
papyvore Messages postés 223 Date d'inscription samedi 15 novembre 2003 Statut Membre Dernière intervention 16 décembre 2021 15
22 mars 2018 à 14:55
effectivement avec le code que tu propose il n'y a pas d'erreur .
J'avais une exception avec
if  SelectDirectory('Choisir un dossier', ExtractFileDrive(Dir), Dir,    [sdNewUI]) then 
begin
ScruteDossier(Dir, '*.jpg', attributs, True, '', '');
..........
end
else
exit;

quand je clic sur annuler.
si je choisi ,
if not SelectDirectory('Choisir un dossier', ExtractFileDrive(Dir), Dir,   [sdNewUI]) then 
exit

c'est seulement par ce que la boite de dialogue me va mieux
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
23 mars 2018 à 20:32
justement c'est avec ce code que j'ai fait le teste:

uses FileCtrl;
procedure TForm1.Button1Click(Sender: TObject);
var
 Dir: string;
begin
  Dir := ExtractFilePath(Application.ExeName);
  if  SelectDirectory('Choisir un dossier', ExtractFileDrive(Dir), Dir,  [sdNewUI]) then
  begin
//      ScruteDossier(Dir, '*.jpg', attributs, True, '', '');
//      ..........
  end
  else
  exit;
end;


Cordialement,
0
papyvore Messages postés 223 Date d'inscription samedi 15 novembre 2003 Statut Membre Dernière intervention 16 décembre 2021 15
24 mars 2018 à 14:05
:( désolé effectivement je viens de le test hors de mon prog initial et ça marche très bien.
je vais rependre mon prog pour essayer de comprendre où j'ai m..
si je trouve je posterais d'où vient mon erreur.
merci d'avoir insisté ça va me forcer un peu a réfléchir :)
0
Rejoignez-nous