| Autor |
Beitrag |
AScomp
      
Beiträge: 162
Delphi 5, Delphi 7, Delphi 2007, Delphi 2009, Delphi XE, Delphi 10 Seattle
|
Verfasst: Di 28.04.09 12:04
Hallo zusammen,
gibt es eine Möglichkeit, mit Delphi eine Festplatte aus dem Sleepmodus zu holen?
Grund: Mein Programm greift in bestimmten Intervallen auf Festplatten und Netzwerke zu, die offensichtlich nach einiger Zeit "Stillstand" in eine Art Sleepmodus gelangen. Versucht man dann z.B. per FileStream eine Datei oder einen Ordner auf der Festplatte zu erstellen, erhält man einen EFOpenError:
EFOpenError
exception message : Datei F:\blabla.txt kann nicht geöffnet werden. Das System kann den angegebenen Pfad nicht finden.
Viele Grüße,
Andy
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: Di 28.04.09 13:49
Selbst wenn die Festplatte in den Sleep Modus geht, so wird diese eigentlich von Windows aufgeweckt, wenn eine Datei angefordert wird.
Sicher, dass es die Datei überhaupt gibt?
_________________ PROGRAMMER: A device for converting coffee into software.
|
|
thepaine91
      
Beiträge: 763
Erhaltene Danke: 27
Win XP, Windows 7, (Linux)
D6, D2010, C#, PHP, Java(Android), HTML/Js
|
Verfasst: Di 28.04.09 13:55
Was ich nicht so ganz verstehe:
Du sagst du willst eine Datei aus einem Filestream heraus erstellen bzw. Ordner.
Aber dein Fehler ist Datei kann nicht geöffnet werden und der kommt wohl kaum wenn du was ablegen bzw. erstellen willst?
Oder wie sehe ich das
Hört sich eher an wie wenn du auf eine nicht existierende Datei ein open command loslässt. ^^
|
|
AScomp 
      
Beiträge: 162
Delphi 5, Delphi 7, Delphi 2007, Delphi 2009, Delphi XE, Delphi 10 Seattle
|
Verfasst: Di 28.04.09 14:44
War jetzt nur ein Beispiel. In dem Fall sollte eine Datei, die bereits auf der Festplatte existiert, geladen werden.
Das Problem tritt meines Erachtens auch hauptsächlich bei Netzwerkfestplatten auf, die dank Mapping als Laufwerk X: ansprechbar sind. Sobald man die Datei direkt über den UNC-Pfad anspricht, funktioniert es einwandfrei.
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: Di 28.04.09 15:18
AScomp hat folgendes geschrieben : | | Das Problem tritt meines Erachtens auch hauptsächlich bei Netzwerkfestplatten auf, die dank Mapping als Laufwerk X: ansprechbar sind. Sobald man die Datei direkt über den UNC-Pfad anspricht, funktioniert es einwandfrei. |
vielleicht ist dasd Netzlaufwerk zu dem Zeitpunkt nicht verbunden?
Oder, brauchst du Benutzername und Kennwort, um darauf zuzugreifen? Gibst du dieses mit an?
_________________ PROGRAMMER: A device for converting coffee into software.
|
|
AScomp 
      
Beiträge: 162
Delphi 5, Delphi 7, Delphi 2007, Delphi 2009, Delphi XE, Delphi 10 Seattle
|
Verfasst: Di 28.04.09 15:32
Nein, benötigt keine Zugangsdaten. Verbunden ist es, aber anscheinend in einer Art Sleepmodus, das ist es ja.
Sobald man z.B. über den Windows Explorer oder einen Datei öffnen-Dialog auf das gemappte Laufwerk zugreift, kann daraufhin auch der Dateizugriff per Delphi-Code ohne Fehler erfolgen.
|
|
ffgorcky
      
Beiträge: 573
WIN XP/2000 & 7Prof (Familie:Win95,Win98)
|
Verfasst: Sa 09.05.09 10:56
Na, dann müsstest Du es eben nach Deiner Möglichkeit machen:
Das ist jetzt aber ziemlich unsauber, aber mir fällt im Moment keine andere Lösung ein:
Delphi-Quelltext 1: 2: 3:
| System.Execute('explorer.exe '+LwBuchstabe+':\') PostMessage(FindWindow(nil, NameDesZuSchliessendenFensters), WM_CLOSE, 0, 0); UndhierDannDeineAuzufuehrendenAnweisungen(); |
|
|
|