Entwickler-Ecke
Dateizugriff - EFOpenError
gerd8888 - Sa 28.04.12 01:07
Titel: EFOpenError
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| if not fileexists(extractfilepath(ParamStr(0))+dateiname) then FileCreate(ExtractFilePath(ParamStr(0))+dateiname);
...
fs:=TFileStream.Create(Filename,fmopenreadwrite); |
Dann mit der Fehlermeldung EFOpenError
Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird.
Ich wuesste nicht, von welchem Prozess das verwendet wird. Habe ich das Filecreate vielleicht nicht richtig erstellt??
Wenn ich anschliessend das Programm neu starte, ist die Fehlermeldung weg.
bummi - Sa 28.04.12 07:51
Du blockierst selbst mit Deinem FileCreate
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| const C_BUFF='Blub..'; var fs:TfileStream; fn:String;
Function CreateIfNotExits(const fn:String):Word; begin if not FileExists(fn) then Result := fmCreate else Result := 0; end;
begin fn := 'C:\temp\test.xxx'; fs := TfileStream.Create(fn,CreateIfNotExits(fn) or fmopenWrite or fmShareExclusive); fs.Position:=fs.Size; fs.Write(C_BUFF[1],Length(C_BUFF)*SizeOf(Char)); fs.Free; end; |
gerd8888 - Sa 28.04.12 09:25
mit filestream eine datei erzeugen.
ja, dann kommt keine fehlermeldung mehr.
allerdings frage ich mich, warum ich mit filecreate etwas blockiere.
ich habe mir das so vorgestellt. er erstellt mit filecreate eine datei und schliesst sie.
aber offensichtlich ging das nicht.
bummi - Sa 28.04.12 12:22
Schau Dir mal an was FileCreate als Rückgabewert liefert ...
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!