Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   EInOutError E/A-Fehler 1224 bei Nutzung von TBigInifile (https://www.delphipraxis.net/178073-einouterror-e-fehler-1224-bei-nutzung-von-tbiginifile.html)

v2afrank 16. Dez 2013 09:51

EInOutError E/A-Fehler 1224 bei Nutzung von TBigInifile
 
Hallo,historisch bedingt setze ich bei einem alten Delphi 6 Projekt auf die Speicherung der Daten als Inifile. Irgendwann wurde die Datenmenge so groß dass ich auf TBigInifile umgeschwenkt bin. Nun habe ich das Problem dass bei einem Kollegen (der allerdings in China sitzt) ein EInOutError mit der Fehlernummer 1224 auftritt wenn die Daten über Biginifile.FlushFile auf der Festplatte gespeichert werden. (Nicht jedes mal, ab er kann es innerhalb von einigen Minuten provozieren)

Der Fehler besagt ja eigentlich dass die Datei von einem anderen User bereits geöffnet ist. Das kann ich eigentlich ausschließen. Auch ein Ausschalten des Virenscanners wie irgendwo bei Google als Tip angegeben brachte keinen Erfolg.
In meinem Programm gehe ich an mehreren Stellen hin und erzeuge über ini:=TBiginifile.create(Filename); ini.write(....) ini.free; die Einträge in der Datei. Das ganze wird während des Speicherns auch mehrmals (mit verschiedenen Teildaten) gemacht, so dass ich jetzt eigentlich nur noch die Vermutung habe, dass irgend ein Cache dafür sorgt, dass die Daten erst später wirklich gespeichert werden.
Ich weiß es ist alles sehr wage geschrieben, aber momentan habe ich keine Idee wie ich den Fehler abstellen kann, gerade weil er bei mir absolut nicht nachzuvollziehen ist. Hat einer von Euch dazu noch eine Idee ?

baumina 16. Dez 2013 09:58

AW: EInOutError E/A-Fehler 1224 bei Nutzung von TBigInifile
 
Liegt die INI-Datei lokal oder im Netzwerk?

v2afrank 16. Dez 2013 10:00

AW: EInOutError E/A-Fehler 1224 bei Nutzung von TBigInifile
 
Ich gehe jetzt mal von lokal aus. Ich habe ihm die Frage gestellt, aber ich bin mir nicht sicher ob er aufgrund der Zeitverschiebung nach China womöglich schon Feierabend hat. Ich melde mich sobald ich von ihm die Antwort hat

himitsu 16. Dez 2013 10:24

AW: EInOutError E/A-Fehler 1224 bei Nutzung von TBigInifile
 
Ist das Verzeichnis im Explorer geöffnet?

Man könnte mal mit AutoRuns nachsehen, ob z.B. irgendwelche Preview-Handler eingebettet sind, welche sich die INI kurz schnappen.
(besonders bemerkt hatte ich das mal mit bei PDFs, wo sich das schrottige Acrobat jede Datei schnappt und Diese dann "längere" Zeit für paar Sekunden blockiert)
Diese Handler kann man da auch testweise mal kurz deaktivieren. (danach Explorer/Windows neu starten)

Eventuell auch irgendwelche Backup-/Such-/Caching-Services könnten sich da reinklinken, aber das sollte hoffentlich nicht passieren.

Ansonsten mit dem Process Monitor verfolgen wer darauf zugreift.

v2afrank 16. Dez 2013 10:55

AW: EInOutError E/A-Fehler 1224 bei Nutzung von TBigInifile
 
Ja an so etwas habe ich auch schon gedacht. Ich habe mir schon mal die Liste mit laufenden Prozessen schicken lassen. Da laufen so viele Prozesse von denen ich noch nie etwas gehört habe. Da kann gut etwas dabei sein. Auch Dienste wie Google Desktop laufen da mit.
Processexplorer und wahrscheinlich auch Autoruns trau ich ihm ehrlich gesagt nicht zu.
Aber ich schreibe es ihm mal

himitsu 16. Dez 2013 11:34

AW: EInOutError E/A-Fehler 1224 bei Nutzung von TBigInifile
 
Die meisten Preview-Handler sind nicht als eigener Prozess vorhanden.
Das sind oftmals nur DLLs, welche direkt in den Explorer-Prozess geladen werden.

Einige hängen z.B. auch an der DLLHost.exe, da sie dort drin als OutOfProcess-Server geladen wurden
usw.


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