Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Datei in Benutzung (https://www.delphipraxis.net/119875-datei-benutzung.html)

SaFu 2. Sep 2008 16:02

Re: Datei in Benutzung
 
Zitat:

Zitat von taaktaak
Könnte es sein, dass "fmShareExclusive" nur solange eine Wirkung hat, bis die Instanz von FileStream wieder freigegeben wird? :zwinker:

Na das wars glaube ich jetzt muss ich nur noch gucken wie ich die wieder frei bekomme wenn ich in der FileListbox die datei wechsel

taaktaak 2. Sep 2008 16:03

Re: Datei in Benutzung
 
Eben, aber wer dieses
Zitat:

aber ich kann es Trotzdem noch mit einer neuen Instanz meines Programmes ein Zweites mal Öffnen
schreibt, hat offenbar anders gedacht :roll:

Die Muhkuh 2. Sep 2008 16:03

Re: Datei in Benutzung
 
Darfst halt keine lokale Variable nutzen, sondern ein Feld in der Klasse.

taaktaak 2. Sep 2008 16:06

Re: Datei in Benutzung
 
Zitat:

wie ich die wieder frei bekomme wenn ich in der FileListbox die datei wechsel
Wieso ist das ein Problem?
Die Sperrung ist doch nur innerhalb der Methode "GridLaden" wirksam

Die Muhkuh 2. Sep 2008 16:07

Re: Datei in Benutzung
 
Anscheinend will er sie aber so lange offen lassen, bis man eine neue Datei anwählt.

taaktaak 2. Sep 2008 16:08

Re: Datei in Benutzung
 
Aha, na, dann muss "GridLaden" aber umgebaut werden...

Die Muhkuh 2. Sep 2008 16:08

Re: Datei in Benutzung
 
Zitat:

Zitat von Die Muhkuh
Darfst halt keine lokale Variable nutzen, sondern ein Feld in der Klasse.

:zwinker:

SaFu 2. Sep 2008 16:10

Re: Datei in Benutzung
 
Mal blöd gefragt

Ich hab FFileStream1 Global deklariert und im ONClick ereigniss von der Filelistbox vorher

Delphi-Quellcode:
FFileStream1.Free;
geschrieben aber irgendwie wird sie nicht mehr freigegeben

Die Muhkuh 2. Sep 2008 16:11

Re: Datei in Benutzung
 
Delphi-Quellcode:
procedure TForm7.GridLaden;
var x, y, row, col,len :Word;
    Grid :TFileName;
    buff :string;
begin
  if FFileSteam1 <> nil then
    FFileStream1.Free;

  FFileStream1 := TFileStream.Create(FileListbox1.FileName, fmShareExclusive);

  FFileStream1.Read(row, SizeOf(Word));
  FFileStream1.Read(col, SizeOf(Word));

  for x:= 0 to row do
   for y:= 0 to col do
    begin
     FFileStream1.Read(len, SizeOf(Word));
     SetLength(buff, len);
     FFileStream1.Read(buff[1], len);
     StringGrid1.Cells[y,x]:= buff;
    end;
end;
Probiers mal so.

SaFu 2. Sep 2008 16:59

Re: Datei in Benutzung
 
Liste der Anhänge anzeigen (Anzahl: 1)
Irgendwie scheint sie trotzdem nicht richtig Freigegeben zu werden.

Wenn ich mit einer anderen Instanz versuche die Datei nochmal zu öffenen Kommt der Dialog das die Datei in Benutzung ist. soweit so gut.

Nur nach diesem Dialog kann ich garkeine Datei mehr öffnen und ich bekomm folgenden Fehler


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:32 Uhr.
Seite 2 von 4     12 34      

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