Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Dateien in Benutzung ermitteln. (https://www.delphipraxis.net/191902-dateien-benutzung-ermitteln.html)

himitsu 4. Apr 2017 13:35

AW: Dateien in Benutzung ermitteln.
 
"Offen" bedeutet, dass irgendwo ein "Handle" auf diesem Dateisystemobjekt (Datei oder Verzeichnis) liegt, also eine "geöffente" Verbindung.
Und ja, das gibt es auch zu Verzeichnissen, denn für das Dateisystem (z.B. FAT und NTFS) sind Verzeichnisse auch nur "Dateien".
z.B. das aktive Arbeitsverzeichnis oder eine aktive Dateisuche ala (FindFirst/FindFirstFile).

Versuch mal
Delphi-Quellcode:
SetCurrentDirectory(PChar(ExtractFileDir(ParamStr(0))));
.

Diese Dialoge ändern das aktuelle Arbeitsverzeichnis.
PS: Das ist übrigens auch einer der unzähligen Gründe, warum man niemals mit relativen Pfaden arbeiten sollte.

p80286 4. Apr 2017 14:01

AW: Dateien in Benutzung ermitteln.
 
Zitat:

Zitat von MartinK (Beitrag 1366391)
Zwischenstand:
- Es handelt sich doch um nicht um eine "geöffnete Datei" ansich, sondern um einen "(Unter)Ordner" innerhalb Appdata/Roaming den meine Applikation scheinbar irgendwie blockiert.
Dieser Ordner kann nicht gelöscht/Renamed werden , was ich aber tun müsste (für eine Backup-Funktionalität).

da ich selbst nicht so tief in den Untiefen von Windows bewandert bin, es gibt Situationen in denen sich (unter)Ordner gegen Löschung/Umbenennung wehren, obwohl kein offensichtlicher Grund hierfür vorliegt. Typisch ist dann eine Fehlermeldung ohne jeden Bezug zur scheinbaren Realität mit den Optionen Wiederholen,Überspringen,Abbrechen.
Versuchst Du die gleichen Aktivitäten mit Hilfe einer Batch-Datei zu erledigen, klappt es in den meisten Fällen. Will sagen, u.u ist es API-Abhängig wie Dateien/Verzeichnisse reagieren und es könnte sein daß im Hintergrund der eine oder andere Service sich für Deine Datei/Verzeichnis interessiert. Zusätzlich können einzelne Dateien, für die Du nicht die notwendige Berechtigung hast, ganze Datei(gruppen) vor Zugriffen "schützen".

Gruß
K-H

MartinK 4. Apr 2017 15:52

AW: Dateien in Benutzung ermitteln.
 
Zitat:

Zitat von himitsu (Beitrag 1366398)
"Offen" bedeutet, dass irgendwo ein "Handle" auf diesem Dateisystemobjekt (Datei oder Verzeichnis) liegt, also eine "geöffente" Verbindung.
Und ja, das gibt es auch zu Verzeichnissen, denn für das Dateisystem (z.B. FAT und NTFS) sind Verzeichnisse auch nur "Dateien".
z.B. das aktive Arbeitsverzeichnis oder eine aktive Dateisuche ala (FindFirst/FindFirstFile).

Ich glaube genau das war der entscheidende Hinweis auf der Suche nach der Nadel im Heuhaufen!
Habe nochmal alle FindNext in meinem SourceCode Aufrufe separat überprüft und dabei einen aus dem WWW kopierten Sourcecode einer Funktion als vermutlich Übeltäter entlarvt.
Dort wurde FindClose vergessen

sieht so aus als bekäme ich es endlich in den Griff !

:) :)

M

nahpets 4. Apr 2017 22:11

AW: Dateien in Benutzung ermitteln.
 
Was mir in dem Zusammenhang noch einfällt:

Wenn man z. B. mit einem Dateiöffnendialog ... was öffnet / auswählt, so wechseln diese Dialoge ganz gerne mal das Verzeichnis, womit das Arbeitsverzeichnis des Programmes nun das Verzeichnis wird, aus dem man was auswählte.

Ein Verzeichnis, das von irgendeiner Applikation als Arbeitsverzeichnis genutzt wird, kann man in der Regel weder umbenennen, noch löschen.

Bei vielen Dialogen kann man unter Optionen ofNoChangeDir auf True setzen. Damit könnte man dann eventuell eine mögliche Ursache des Problems beseitigen.

Hannah French 5. Apr 2017 03:42

AW: Dateien in Benutzung ermitteln.
 
Thanks for the numerous tips :-D
json editor

MartinK 5. Apr 2017 03:46

AW: Dateien in Benutzung ermitteln.
 
Zitat:

Zitat von Hannah French (Beitrag 1366449)
Thanks for the numerous tips :-D [/URL]

+1

DANKE
Martin


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:56 Uhr.
Seite 2 von 2     12   

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