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


Anmelden zum Antworten