Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem mit Assign / Close File (https://www.delphipraxis.net/31148-problem-mit-assign-close-file.html)

ueei.net 5. Okt 2004 00:51


Problem mit Assign / Close File
 
Hallo, folgender Code funktioniert in meiner Funktion beim ersten mal super, aber bei einem erneuten Aufruf kommt ein E/A Fehler 32.


Delphi-Quellcode:
var f: file of Byte;
.....

    AssignFile(f, 'meine.zip');
    Reset(f);
    size := FileSize(f);
    CloseFile(f);
Bitte um eure Tipps.

himitsu 5. Okt 2004 01:15

Re: Problem mit Assign / Close File
 
Also warum dort ein Fehler auftauchen sollte, weiß ich nicht, aber du kannst es ja mal so versuchen:

Delphi-Quellcode:
var f: file of Byte;
...

    AssignFile(f, 'meine.zip');
    Reset(f);
    try
      size := FileSize(f);
    finally
      CloseFile(f);
    end;
Du könntest ja mal nachsehn, bei welchem Befehl der Fehler auftritt. (F7 und treuer Begleiter)

ueei.net 5. Okt 2004 01:24

Re: Problem mit Assign / Close File
 
Hallo,

gut waren etwas wenig Infos.

E/A-Fehler 32.

In der Zeile Reset(f);

Auch wenn ich die Reset(f) in ein try gebe, ist das so.


Wenn ich mit F7 die einzelnen Anweisungen durchgehe bekomme ich bei jeder Zeile die auf (f) zugreift den selben Fehler, also auch bei Close und Filesize.

supermuckl 5. Okt 2004 01:32

Re: Problem mit Assign / Close File
 
wo steht der zeilenmarkierungspfeil an der linken seite im editor wenn der fehler ausbricht?
noch bei assign ?
oder bei reset ?

weil wenn der beim umschalten auf die reset zeile den fehler anzeigt, dann ist die vorherige zeile der auslöser ( also assign )

... ansonsten würde ich jetzt einfach mal sagen, das die reset procedure nicht mit dem file of byte zurecht kommt
weil irgendwie hab ich in erinnerung das ich da immer TTextfile genommen hab in verbindung mit reset()

ueei.net 5. Okt 2004 01:43

Re: Problem mit Assign / Close File
 
hallo mit text file geht das, nur ist dann mein filesize nicht mehr richtig. da es sich ja eigentlich um eine zip handelt.

supermuckl 5. Okt 2004 01:57

Re: Problem mit Assign / Close File
 
wenn du nur die filesize brauchst dann kannste da auch direkt die windoof API verwenden

mit

DWORD GetFileSize(
HANDLE hFile,
LPDWORD lpFileSizeHigh
);


kriegste die größe von einem dateihandle wobei du dieses handle auch mit einer API funktion erstellen musst:

HFILE OpenFile(
LPCSTR lpFileName,
LPOFSTRUCT lpReOpenBuff,
UINT uStyle
);

und das handle wieder schliessen mit:

BOOL CloseHandle(
HANDLE hObject
);




steht alles in der win32 api

alcaeus 5. Okt 2004 08:05

Re: Problem mit Assign / Close File
 
Hi ueei.net,

vielleicht helfen dir die beiden Links zur CodeLib weiter:
http://www.delphipraxis.net/internal...ct.php?t=28007
http://www.delphipraxis.net/internal_redirect.php?t=173

Greetz
alcaeus


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:20 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