J'utiliseFonction DirectoryExists plus rapide?
DirectoryExists (const PathName : String);
pour vérifier si un répertoire est accessible à partir d'un ordinateur ou non. Mais si le répertoire n'existe pas et le nom de chemin est un chemin réseau, à savoir
\\computer1\Data
la méthode prend beaucoup de temps pour revenir.
Il doit y avoir un moyen plus rapide de déterminer qu'un dossier réseau n'est pas accessible. Ou puis-je configurer un paramètre de délai d'attente que DirectoryExists utilise en interne (j'ai regardé le code source mais il délègue juste à GetFileAttributes qui est défini dans kernel32)?
Des idées?
Le problème est-il que le répertoire n'existe pas sur l'ordinateur distant ou que vous ne pouvez pas vous connecter à l'ordinateur distant en premier lieu? –
Pourrait être les deux, mais dans la plupart des cas je ne peux pas me connecter. – jpfollenius
Pour contre-exemple, j'aimerais poser mon minuscule NAS à la maison: Quand je ne l'ai pas utilisé pendant un moment, les disques se renversent. Lorsque j'accède pour la première fois au répertoire monté, une simple liste peut prendre environ 20 secondes. Donc, pendant ces 20 secondes, il n'y a aucun moyen de savoir s'il existe un répertoire donné là-bas. Même après 15 secondes vous ne pouvez pas être sûr qu'il n'existe pas ... seulement quand vous obtenez une réponse (négative) réelle de l'hôte pouvez-vous être sûr que le fichier n'existe pas. –