Einzelnen Beitrag anzeigen

omisliebling

Registriert seit: 12. Dez 2004
Ort: Saarland
10 Beiträge
 
Delphi 7 Enterprise
 
#1

Record-Array speichern ???

  Alt 12. Dez 2004, 12:59
Hallo Leute !!!

Bin neu hier. Und hab gleich mal eine Frage an Euch.
Folgendes Problem:
Ich habe eine "CD Sammlung" geschrieben, in der ich Interpret, Albumtitel, Jahr, Tracks,
Genre und Dauer eingeben kann. Die habe ich in einen Record-Array geschrieben:
Delphi-Quellcode:
type
  cd_sammlung = record
    interpret : string [ 20 ];
    album : string [ 30 ];
    jahr : integer;
    tracks : integer;
    genre : string [ 20 ];
    zeit : real;
    nummer : integer;
  end;

  cdfeld = array [ 1..20 ] of cd_sammlung;

var alle_cd : cdfeld;
Das klappt auch alles einwandfrei. Ich habe es in einer StringGrid ausgegeben.
Nun möchte ich den Record speichern:
Delphi-Quellcode:
procedure TForm1.btn_saveClick(Sender: TObject);
var
  i: integer;
  FileStr: TFileStream;
begin
  FileStr := TFileStream.Create('C:\Temp\Variable.dat', fmCreate);
  try
    FileStr.Write(anzahl, SizeOf(Integer) );
    for i := 0 to anzahl - 1 do
      FileStr.Write(alle_cd[i], SizeOf(cdfeld) );
  except
    showmessage('FETTIG!!!');
end;
end;
und über folgende Procedure wieder laden:
Delphi-Quellcode:
procedure TForm1.btn_loadClick(Sender: TObject);
var
  i: integer;
  FileStr: TFileStream;
begin
  FileStr := TFileStream.Create('C:\Temp\Variable.dat', fmOpenRead);
  FileStr.Read(anzahl, SizeOf(integer) );
  for i := 0 to anzahl - 1 do
    FileStr.Read(alle_cd[i], SizeOf(cdfeld) );
end;
Das ist alles schön und gut und funktioniert auch einmal, aber nachdem ich
die Datei einmal geladen habe und eine weitere CD eintragen möchte und diese wiederum
abspeichern möchte bringt er mir einen Fehler:
Datei "C:\Temp\Variable.dat" kann nicht erstellt werden. Der Prozess kann nicht auf die Datei zugreifen,
da sie von einem anderen Prozess verwendet wird.


Ich hoffe es kann mir jemand helfen.



Gruß omisliebling
  Mit Zitat antworten Zitat