Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#3

AW: Fehler beim überschreiben von Datei

  Alt 11. Apr 2011, 18:55
Was genau für ein Fehler? Da gibts doch immer eine Nummer, oder?
I/O Error 32 // << Datei ist belegt. Dateiname ist möglicherweise bereits vorhanden und geöffnet.

Meinst das ?

Ist aber geschlossen.

EDIT:
Fülle den Buffer
FBuffin(MidiTrackerFile);
Delphi-Quellcode:
procedure FBuffin(FileName: string);
var
  sBuffer: string;

begin

  if not FExist(FileName) then Exit;
    nErrCode := FOpen(FileName, 0, 2, myFile);
  if nErrCode <> 0 then exit;
    nReading := 0;

  Assignfile(ParseFile, FileName);
  reset(ParseFile);

  while not eof(ParseFile) do
  begin
    ReadLN(ParseFile, sBuffer);
    FSeekTo(nReading, sBuffer);
    inc(nReading);
  end;

end;
Dann öffne ich die Datei und setze die Zugriffsrechte
FOpen(FileName, 0, 2, myFile);
Nur Lesen
0= AccessIs := GENERIC_READ;
Schreibzugriff verweigern.
2= ShareIs := FILE_SHARE_READ

Nach dem einlesen der datei wird alles wieder geschlossen und auf nil gesetzt
Delphi-Quellcode:
  // MidiTrackerFile schließen
  FClose(myFile);

  FPBuffer := nil;
  FToPBuffer := nil;
  Result := True;
Theoretisch dürfte jetzt kein zugriff auf die Datei mehr vorhanden sein.
Aber trotzdem kann ich sie nicht überschreiben.
Die Zugriffsrechte dürften dann keinen Einfluss mehr auf die Datei haben
nach dem schließen.

gruss

Geändert von EWeiss (11. Apr 2011 um 19:22 Uhr)
  Mit Zitat antworten Zitat