Io usoFunzione DirectoryExist più veloce?
DirectoryExists (const PathName : String);
per verificare se una directory è raggiungibile da un computer o meno. Ma se la directory non esiste e il nome del percorso è un percorso di rete, vale a dire
\\computer1\Data
il metodo prende molto tempo per tornare.
Ci deve essere un modo più rapido per determinare che una cartella di rete non è raggiungibile. Oppure posso configurare un parametro di timeout che DirectoryExists utilizza internamente (ho guardato il codice sorgente ma delegato semplicemente a GetFileAttributes che è definito nel kernel32)?
Qualche idea?
Il problema è che la directory non esiste sul computer remoto o che non è possibile connettersi al computer remoto in primo luogo? –
Potrebbe essere entrambi, ma nella maggior parte dei casi non riesco a connettermi. – jpfollenius
Come contro-esempio mi piacerebbe posare il mio piccolo NAS a casa: quando non lo uso da un po 'i dischi girano verso il basso. Quando accedo per la prima volta alla directory montata, una semplice lista può richiedere circa 20 secondi. Quindi durante quei 20 secondi non c'è modo di sapere se esiste una data directory. Anche dopo 15 secondi non puoi essere sicuro che non esista ... solo quando ottieni una risposta (negativa) reale dall'host puoi essere sicuro che il file non esiste. –