Einzelnen Beitrag anzeigen

DoktorD

Registriert seit: 13. Dez 2005
153 Beiträge
 
#3

Re: Zugriffsproblem bei Dateien (Lesezugriff)

  Alt 7. Sep 2007, 11:52
Ok. Das hab ich mal probiert.

Also um den Fehler zu erzeugen rufe ich mit einer Applikation die Datei auf. Und zwar so ...

Delphi-Quellcode:
Unit Unit4;

Interface
  Uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;

  Type TForm1 = class(TForm)
      Procedure FormCreate(Sender: TObject);
      Procedure FormDestroy(Sender: TObject);
    Private
      FH: THandle;
    End;

  Var Form1: TForm1;

Implementation
  {$R *.dfm}

  Procedure TForm1.FormCreate(Sender: TObject);
    Begin

      FH := CreateFile(PChar(ExtractFilePath(ParamStr(0)) + 'Project3.txt'), GENERIC_READ or GENERIC_WRITE,
        FILE_SHARE_READ, nil, OPEN_ALWAYS, 0, 0);

      If FH = INVALID_HANDLE_VALUE Then Raise Exception.Create('Can''t open the file.');
      SetFilePointer(FH, 4, nil, FILE_BEGIN);
      SetEndOfFile(FH);
    End;

Und mit meiner anderen Applikation versuche ich dann das hier:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  sl: TStringList;
  Pfad: String;
  Stream : TFileStream;
begin
  Pfad := 'c:\Dokumente und Einstellungen\bottd\Desktop\Datei bereits verwendet\Datei bereits verwendet\Project3.txt';
  if FileExists(Pfad) then
  begin
    //sl:= TStringList.Create;
    try
      //sl.LoadFromFile(Pfad);
      Stream := TFileStream.Create(Pfad,fmOpenRead);
      ShowMessage('Öffnen hat geklappt');
    finally

    end;
  end;
end;

Die Fehlermeldung kommt aber immernoch. Also, es hat sich somit nichts geändert. Woran liegt das?
  Mit Zitat antworten Zitat