![]() |
TFilestream - Datei in Benutzung
Hallo,
ich habe bereits hier im Forum gesucht, jedoch keine passende Hilfe gefunden. Ich öffene eine Datei, bearbeite sie, speichere die Datei und geben die Variablen frei. Beim 2. Aufruf der Procedur kommt die Fehlermeldung "Datei wird von einem anderen Nutzer bearbeitet", ist aber völliger blödsinn. Datei wird heruntergeladen und nur von meinem Programm genutzt. Wie gesagt, beim ersten Aufruf funktioniert es immer richtig:glaskugel:. Habe ich irgendwo etwas vergessen????
Delphi-Quellcode:
procedure TForm1.b5Click(Sender: TObject);
type PBuffer = ^TBuffer; TBuffer = array [0..1000000] of byte; //Dateigröße variabel zwischen 30 KB und 950 KB var dtx, dty : TFileStream; Buffer : PBuffer; ii : int64; begin . . new(Buffer); dtx:=TFileStream.Create(OpenDialog1.Filename, fmOpenRead); dtx.Read(buffer^[0],dtx.Size); ii:=0; repeat //Byteweise verarbeitung der Daten until ii>dtx.Size; ii:=dtx.Size; dty := TFileStream.Create(pfad+'\test.txt', fmCreate); dty.Write(buffer^[0],ii); dty.Free; dtx.Free; dispose(buffer); . . . deletefile(opendialog1.FileName); deletefile(pfad+'\test.txt'); . . end; |
AW: TFilestream - Datei in Benutzung
Zunächst einmal arbeitest Du mit zwei Dateien.
Am Ende der Verarbeitung werden beide gelöscht. Bei welcher Datei tritt der Fehler auf? Warum willst du auf gelöschte Dateien wieder zugreifen? Gruß K-H |
AW: TFilestream - Datei in Benutzung
ich gebe den Speicher frei und lösche dannach die Dateien (Datenschutz). Beim nächsten Durchlauf wird eine neue heruntergeladene Datei verarbeitet. Diese hat auch einen neuen Dateinamen.
Trotzem hat Deine Frage geholfen weil ich den Fehler nun selbst entdeckt habe. Ich habe die Textdatei im weiteren Ablauf noch einmal geöffnet (als textfile) und das closefile:wall: vergessen. Dadurch wurde im 2. Durchlauf der Fehler ausgelöst. Danke. |
AW: TFilestream - Datei in Benutzung
Zitat:
|
AW: TFilestream - Datei in Benutzung
Natürlich wäre es besser und ich weiß auch das die Datei aus einer MYSQL Tabelle stammen, aber leider:( bekomme ich die Daten nur aus dem Webportal als download zur Verfügung gestellt. Alles andere wäre ja auch zu einfach...
|
AW: TFilestream - Datei in Benutzung
Indy bietet es auch an, daß man eine Datei in einen Stream downladet und nicht in eine Datei.
|
AW: TFilestream - Datei in Benutzung
Auch das wäre noch eine gute Möglichkeit, man lässt mich aber einfach nicht an Ursprungsdaten ran, weder mit einem direkten Datenbankzugriff noch mit indy...
|
Dieses Thema wurde am "25. Apr 2011, 21:05 Uhr" von "Matze" aus dem Forum "Neuen Beitrag zur Code-Library hinzufügen" in das Forum "Object-Pascal / Delphi-Language" verschoben.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:39 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz