Autor Beitrag
galagher
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2556
Erhaltene Danke: 45

Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
BeitragVerfasst: Di 08.12.09 16:39 
Hallo!

Versucht einmal Folgendes:
Setzt einen OpenDialog auf eine Form und wählt die Datei C:\pagefile.sys. Mit der Datei soll zunächst nichts geschehen, es geht nur um den OpenDialog. Wenn man diese Datei wählt und auf Öffnen" klickt, klappt das.
Und nun versucht das mal mit C:\pagefile.sys zusammen mit einer beliebigen anderen Datei, sagen wir C:\hcwclear.txt. Das klappt nicht, da kommt die Fehlermeldung:
ausblenden Quelltext
1:
2:
3:
pagefile.sys
Die Datei wird bereits verwendet.
Wählen Sie einen anderen Namen, oder schließen Sie die Datei in der anderen Anwendung.


OpenDialog akzeptiert also eine bereits anderweitig geöffnete Datei, wenn man diese allein auswählt. Wenn man mehrere Dateien auswählt, und es ist eine einzige bereits geöffnete Datei dabei, funktioniert das nicht mehr. Warum?

Ich möchte ein Programm schreiben, das beim nächsten Booten geöffnete Dateien löscht, und da brauche ich so etwas!

//Edit: Nicht, dass ich pagefile.sys löschen möchte, das ist nur zum Testen!

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
Andreas L.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1703
Erhaltene Danke: 25

Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
BeitragVerfasst: Di 08.12.09 17:28 
Eine pagefile.sys hab ich nicht, habs mit hiberfil.sys probiert. Egal ob ich nur diese einzelne Datei oder mehrere auswähle kommt die von dir zitierte Meldung. (Delphi 2009, Win Vista 32Bit)

EDIT: Habs jetzt auch mit pagefile.sys probiert (war auf D:), selbes Verhalten wie mit hiberfil.sys
galagher Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2556
Erhaltene Danke: 45

Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
BeitragVerfasst: Di 08.12.09 17:38 
Wie kann man das verhindern? Die Datei soll ja nicht wirklich geöffnet werden, sondern der Dateiname wird in eine Liste eingetragen und dann mit MoveFileEx zum Löschen beim nächsten Booten vorbereitet werden.

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
Andreas L.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1703
Erhaltene Danke: 25

Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
BeitragVerfasst: Di 08.12.09 18:39 
user profile icongalagher hat folgendes geschrieben Zum zitierten Posting springen:
Wie kann man das verhindern?


ausblenden Delphi-Quelltext
1:
  OpenDialog1.Options := OpenDialog1.Options + [ofNoValidate];					
galagher Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2556
Erhaltene Danke: 45

Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
BeitragVerfasst: Di 08.12.09 19:21 
user profile iconAndreas L. hat folgendes geschrieben Zum zitierten Posting springen:
ausblenden Delphi-Quelltext
1:
  OpenDialog1.Options := OpenDialog1.Options + [ofNoValidate];					


Laut Delphi Hilfe: ofNoValidate Deaktiviert die Prüfung auf ungültige Zeichen in Dateinamen und erlaubt die Auswahl solcher Dateinamen.

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Di 08.12.09 20:11 
Eigentlich dient der OpenDialog doch nur dazu, eine Datei auszuwählen.
Festzustellen, ob diese bereits geöffnet ist, sollte doch eigentlich die aufrufende Prozedur dann machen?

_________________
PROGRAMMER: A device for converting coffee into software.
Andreas L.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1703
Erhaltene Danke: 25

Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
BeitragVerfasst: Di 08.12.09 20:13 
user profile icongalagher hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconAndreas L. hat folgendes geschrieben Zum zitierten Posting springen:
ausblenden Delphi-Quelltext
1:
  OpenDialog1.Options := OpenDialog1.Options + [ofNoValidate];					


Laut Delphi Hilfe: ofNoValidate Deaktiviert die Prüfung auf ungültige Zeichen in Dateinamen und erlaubt die Auswahl solcher Dateinamen.


Stellt aber ebenfalls die Überprüfung ob eine Datei geöffnet ist ab. Habs getestet :wink:
galagher Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2556
Erhaltene Danke: 45

Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
BeitragVerfasst: Di 08.12.09 20:40 
user profile iconAndreas L. hat folgendes geschrieben Zum zitierten Posting springen:
Stellt aber ebenfalls die Überprüfung ob eine Datei geöffnet ist ab. Habs getestet :wink:
Ok, funktioniert bei mir (Win XP, Dekphi 6) auch, aber nur mit Admin-Rechten!

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
Andreas L.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1703
Erhaltene Danke: 25

Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
BeitragVerfasst: Di 08.12.09 21:43 
user profile icongalagher hat folgendes geschrieben Zum zitierten Posting springen:
aber nur mit Admin-Rechten!


Bei mir auch als normaler User :P :D
galagher Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2556
Erhaltene Danke: 45

Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
BeitragVerfasst: Di 08.12.09 22:02 
Bei mir funktioniert es jetzt auch, wenn ofNoValidate auf False gesetzt ist, wenn ich das Programm als Admin starte. Als User funktioniert es weder mit True noch False.

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
galagher Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2556
Erhaltene Danke: 45

Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
BeitragVerfasst: Fr 11.12.09 19:01 
Habe mir jetzt einen eigenen Öffnen-Dialog gebastelt, mit den guten, alten Win3.1-Komponenten. (Gibt's da nichts moderneres, das genauso funktioniert?)

Der Vorteil ist, ich kann den Dialog speziell anpassen. Das Problem ist also gelöst - danke!

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!