Autor Beitrag
JanHH
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 46
Erhaltene Danke: 1



BeitragVerfasst: Mo 14.07.03 18:54 
Hallo,

in meinem Programm gibt es Dateien, die aus historischen Gründen mit SysUtils.FileCreate geöffnet werden und insofern als handle (Integer) intern bekannt sind. Geschlossen werden diese Dateien entsprechend mit SysUtils.FileClose mit dem File-handle als Parameter, und das Programm funktioniert an sich auch, nur sind die Dateien nach dem SysUtils.FileClose-Aufruf dem Betriebssystem immer noch als "geöffnet" bekannt und lassen sich insofern nicht überschreiben. Dies ist aber nötig da sie von dem Programm geändert und neu gespeichert werden müssen.

Es ist sicherlich etwas doof die Dateien auf diese Art und Weise zu verwalten, ist aber wie gesagt historisch so entstanden, und dies zu ändern wäre zu viel Aufwand, wenn es auch eine einfachere Lösung dafür gäbe. Weiss irgendjemand warum die Dateien trotz FileClose-Aufruf noch "geöffnet" sind oder, noch besser, wie man das ändern kann?

Gruß und Dank,
Jan
derDoc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 623

Win Vista Prof
D2007 Prof
BeitragVerfasst: Mo 14.07.03 19:04 
Wie wäre denn ein Ersatz durch AssignFile, Readln, Writeln und CloseFile?

_________________
MfG derDoc
There are only 10 types of people: those who understand binary and those who don't.
JanHH Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 46
Erhaltene Danke: 1



BeitragVerfasst: Mo 14.07.03 19:42 
geht leider nicht, muss so bleiben.. liegt an den sonstigen programmstrukturen.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 15.07.03 03:17 
Bist du sicher das FileClose korrekt aufgerufen wird? Ich kann mir nicht vorsteöllen, dass das System die datei nach einem Aufruf von FileClose nicht schließt. Ruf mal nach FileClose RaiseLastOSError(); auf.
JanHH Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 46
Erhaltene Danke: 1



BeitragVerfasst: Di 15.07.03 04:25 
werd ich ausprobieren.. ich hab den ganzen Kram auch gar nicht selber programmiert, darf ihn jetzt lediglich debuggen ;) aber die FileCreate (oder wie auch immer sie heisst, weiss grad nicht genau)-Funktion liefert einen handle als int zurück, und FileClose bekommt den dann übergeben als Parameter, sollte also gehen.. seltsam.

Für diesen Beitrag haben gedankt: Jakane