![]() |
ExpressQuantumGrid TcxIniFileWriter: Ini-Datei wird "von anderem Prozess verwendet"
Guten Morgen
In einer Delphi 2009 Anwendung verwenden wir StoreToIniFile um die benutzerbezogenen Einstellungen eines QuantumGrids zu speichern. In dieser Anwendung wird an zwei Stellen auf die gleiche Datei zugegriffen: * beim Öffnen des Hauptformulars werden die Einstellungen für alle Grids die auf dem Hauptformular sind gelesen * beim Öffnen eines weitren, modalen Bearbeitungsformulars werden dessen Grid-Einstellungen gelesen und beim Schliessen wieder gespeichert Beim beim Speichern der Grid-Einstellungen des modalen Formulars kommt es oft (aber nicht immer) zu einer Exception die besagt die INI-Datei wäre bereits geöffnet. Frage: wenn die Fehlermeldung lautet "Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird.", ist damit tatsächlich ein anderer Prozess gemeint, der die Datei verwendet? Also definitiv nicht der Prozess der die Datei zu öffnen versucht? Wenn es definitiv ein anderer Prozess ist, dann wäre es nur erklärbar mit einer gleichzeitig laufenden weiteren Instanz der Anwendung (die INI-Datei wird nur von dieser einen Anwendung erzeugt), denkbar z.B. wenn die Anwendung "hängt" und der Benutzer sie erneut startet. Doch die Zugriffe auf die INI-Datei sind zu kurz um dann den Fehler mit einer zweiten Instanz erklären zu können. Zweite Möglichkeit: ein Virenscanner oder ähnliches greift auf die Datei zu. Hat damit jemand schon ähnliches erlebt oder ist das nur Spekulation?
Code:
exception class : EFCreateError
exception message : Cannot create file "\\server\dfs\Home\Username\Documents\i4Settings\Abfertigung41.1.ini". Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird. main thread ($10fc): 004822d1 +0b9 Ladelist411.exe Classes TFileStream.Create 004821f4 +020 Ladelist411.exe Classes TFileStream.Create 004809fc +018 Ladelist411.exe Classes TStrings.SaveToFile 0048f45d +039 Ladelist411.exe IniFiles TMemIniFile.UpdateFile 006e94ad +005 Ladelist411.exe cxStorage TcxIniFileWriter.EndWrite 006e710b +05b Ladelist411.exe cxStorage TcxStorage.StoreWithExistingWriter 006e7087 +037 Ladelist411.exe cxStorage TcxStorage.StoreTo 006e712a +00e Ladelist411.exe cxStorage TcxStorage.StoreToIni 0079ebc9 +06d Ladelist411.exe cxGridCustomView TcxCustomGridView.StoreToIniFile |
AW: ExpressQuantumGrid TcxIniFileWriter: Ini-Datei wird "von anderem Prozess verwende
*entfernt* sorry.
|
AW: ExpressQuantumGrid TcxIniFileWriter: Ini-Datei wird "von anderem Prozess verwende
Bei uns wurden ähnliche Probleme mit Ini-Dateien schon von Virenscannern verursacht (vorzugsweise seit Windows 10 WIMRE). Umkonfigurieren derselbigen hat die Probleme beseitigt.
|
AW: ExpressQuantumGrid TcxIniFileWriter: Ini-Datei wird "von anderem Prozess verwende
Zitat:
Dann wäre es tatsächlich genau so wie die Fehlermeldung besagt; es ist ein anderer Prozess, der die Datei verwendet, nicht die Delphi Anwendung, die das TFileStream.Create versucht. |
AW: ExpressQuantumGrid TcxIniFileWriter: Ini-Datei wird "von anderem Prozess verwende
Hallo,
da es eine Netzwerk-Freigabe ist, könnte man auch auf dem Server nachsehen, welches Programm dieser "andere" Prozess ist. Das klappt natürlich nur, wenn der andere Prozess sich etwas Zeit lässt, wenn das zu schnell geht, dann nicht. Ich würde da wieder pragmatisch vorgehen.
Delphi-Quellcode:
Wenn es keine überlebenswichtigen Einträge sind.
for i:= 1 to 10 do
begin try Speichern; break; except ; end; end; Dann würde ich noch die Schreibzugriffe optimieren (nur schreiben, wenn sich wirklich was geändert hat) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz