Einzelnen Beitrag anzeigen

berens

Registriert seit: 3. Sep 2004
434 Beiträge
 
Delphi 10.4 Sydney
 
#1

[Zur Info] FileExists hängt Rechner auf

  Alt 1. Sep 2009, 13:09
Hatte mich eben gewundert, warum mein Programm, das sonst soweit einwandfrei funktioniert, auf einmal komplett hängt und sich selbst über den Taskmanager und Delphi "Ausführen abbrechen (Strg + F2)" nicht mehr beenden lässt. Sogar "Prozess beenden" brachte im Taskmanager nichts mehr.

Ursache des Ganzen: Ich habe mit FileExists einen UNC-Dateipfad prüfen wollen, der aus der Einstellungs-Datei vom Kunden kommt. Dieser verweist auf einen PC/Server, den es bei mir im Netzwerk natürlich nicht gibt. Da Windows aber einen ziemlich hohen TimeOut für diese Überprüfung hat (schon so ~ 2 Minuten) wirkt das Programm wie abgestürzt.

Wer es selbst mal probieren möchte:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  t: string;
begin
  t := 'c:\1.txt';
  ShowMessage(BoolToStr(FileExists(t), True)); // Kein Problem

  t := '\\foobarsample\foo\bar\file1.txt';
  ShowMessage(BoolToStr(FileExists(t), True)); // mind. 2 Minuten warten, dann kommt die Meldung und das Programm reagiert wieder
end;
  Mit Zitat antworten Zitat