używamSzybsze działanie DirectoryExists?
DirectoryExists (const PathName : String);
aby sprawdzić, czy katalog jest osiągalny z komputera czy nie. Ale jeśli katalog nie istnieje, a nazwa ścieżki jest ścieżką sieciową, tj. , metoda ta wymaga bardzo długiego czasu.
Musi istnieć szybszy sposób określenia, że folder sieciowy jest niedostępny. Czy mogę skonfigurować parametr timeout, który DirectoryExists używa wewnętrznie (zajrzałem do kodu źródłowego, ale to właśnie przekazuje do GetFileAttributes, który jest zdefiniowany w kernel32)?
Wszelkie pomysły?
Czy problem jest związany z tym, że katalog nie istnieje na komputerze zdalnym lub że nie można połączyć się z komputerem zdalnym? –
Może być oba, ale w większości przypadków nie mogę się połączyć. – jpfollenius
Jako kontrprzykład chciałbym przedstawić mój mały NAS w domu: kiedy nie używam go przez jakiś czas, dyski się obracają. Kiedy pierwszy raz uzyskuję dostęp do zamontowanego katalogu, zwykła lista może zająć około 20 sekund. W ciągu tych 20 sekund nie można ustalić, czy dany katalog istnieje. Nawet po 15 sekundach nie można mieć pewności, że nie istnieje ... tylko wtedy, gdy otrzymasz faktyczną (negatywną) odpowiedź od hosta, możesz mieć pewność, że plik nie istnieje. –