Abfrage: Datei geöffnet?
-
Hallo!
Wie kann ich rausfinden, ob eine Datei, die ich in einen FileStream laden will, noch geöffnet ist?
Ich möchte vermeiden, daß er solche Dateien liest.Mein Code:
TFileStream* FSDatei;
FSDatei = new TFileStream(File, fmOpenRead);
int FileSize;
FileSize = FSDatei->Size;
char *ch = new char[FileSize + 1];
FSDatei->Read(ch, FileSize);
AnsiString Datei = ch;---
Vielen Dank mal!
Martin
-
Habe die Lösung selbst gefunden:
Wenn ich die Datei so öffne, funktioniert es:
TFileStream* FSDatei;
FSDatei = new TFileStream(File, fmShareDenyNone);
int FileSize;
FileSize = FSDatei->Size;
char *ch = new char[FileSize + 1];
FSDatei->Read(ch, FileSize);
AnsiString Datei = ch;---
-
Original erstellt von thunder1902:
Ich möchte vermeiden, daß er solche Dateien liest.Aber mit dem Obigen Code bewirkst du ja genau das Gegenteil?!?
-junix
-
Ich wollte die Datei nur zum lesen aufmachen.
Wie ich das machen soll, wenn ich in die Datei schreiben will die bereits (irgendwo) geöffnet ist - keine Ahnung.
Das funktioniert auch (glaub ich) nicht. Denn bei Excel wird ja eine bereits geöffnete Datei schreibgeschützt geöffnet.Martin