AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TFilestream - Datei in Benutzung

Ein Thema von simmi · begonnen am 25. Feb 2011 · letzter Beitrag vom 25. Apr 2011
Antwort Antwort
Benutzerbild von simmi
simmi

Registriert seit: 24. Nov 2004
Ort: Röbel/Müritz
112 Beiträge
 
Delphi XE5 Professional
 
#1

TFilestream - Datei in Benutzung

  Alt 25. Feb 2011, 09:36
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.

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;
Uwe
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#2

AW: TFilestream - Datei in Benutzung

  Alt 25. Feb 2011, 09:48
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
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von simmi
simmi

Registriert seit: 24. Nov 2004
Ort: Röbel/Müritz
112 Beiträge
 
Delphi XE5 Professional
 
#3

AW: TFilestream - Datei in Benutzung

  Alt 25. Feb 2011, 10:10
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 vergessen. Dadurch wurde im 2. Durchlauf der Fehler ausgelöst.

Danke.
Uwe
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

AW: TFilestream - Datei in Benutzung

  Alt 25. Feb 2011, 12:54
und lösche dannach die Dateien (Datenschutz)
Wäre es nicht sinnvoller die Daten dann entweder gar nicht auf die Festplatte zu schreiben oder nur in verschlüsselter Form?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von simmi
simmi

Registriert seit: 24. Nov 2004
Ort: Röbel/Müritz
112 Beiträge
 
Delphi XE5 Professional
 
#5

AW: TFilestream - Datei in Benutzung

  Alt 25. Feb 2011, 15:36
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...
Uwe
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

AW: TFilestream - Datei in Benutzung

  Alt 25. Feb 2011, 15:42
Indy bietet es auch an, daß man eine Datei in einen Stream downladet und nicht in eine Datei.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von simmi
simmi

Registriert seit: 24. Nov 2004
Ort: Röbel/Müritz
112 Beiträge
 
Delphi XE5 Professional
 
#7

AW: TFilestream - Datei in Benutzung

  Alt 25. Feb 2011, 15:49
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...
Uwe
  Mit Zitat antworten Zitat
25. Apr 2011, 21:05
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.
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz