![]() |
FileExists funktioniert nicht richtig
Liste der Anhänge anzeigen (Anzahl: 1)
So sieht es zu mindest für mich aus. Oder ich bin im Moment total blind:
Delphi-Quellcode:
Im Screenshot die Situation. Wie man sieht liegt die Datei Watch.ini im Verzeichnis "D:\Projekte Datawerk\PMD\trunk\Watch\~bin\_appdata", aber trotzdem gibt FileExists False zurück und die Messagebox wird angezeigt.
s := ExtractFilepath(ParamStr(0)) + '_appdata' + '\' + 'Watch.ini';
s := 'D:\Projekte Datawerk\PMD\trunk\Watch\~bin\_appdata\Watch.ini'; if not FileExists(s) then begin MessageBox(Handle, PChar(Format(rsFileNotFound, [s])), PChar(APPNAME), MB_ICONSTOP); Exit; end; Attribut der Datei ist "A", also weder System noch Hidden, was eventuell zu Problemen führen könnte. Und mit einem Texteditor kann ich sie auch öffnen, es gibt sie also offensichtlich. Was ist da los? Auf dem Kundenrechner habe ich die gleiche Konstellation, dass die Ini-Datei im Unterverzeichnis _appdata liegt und da funktioniert es - sogar auf einem Netzlaufwerk. Nur hier auf meinem Rechner funktioniert es nicht. Ich verstehe das nicht. |
Re: FileExists funktioniert nicht richtig
Kann es sein das du keine Rechte hats diese Datei zu lesen ??
|
Re: FileExists funktioniert nicht richtig
Habe ich gerade geguckt: Ich habe Vollzugriff.
Das verrückte ist:
Delphi-Quellcode:
Hier greife ich mit den gleichen Pfad auf die Ini Datei zu und es klappt. Hier funktioniert auch FileExists richtig.
ini := TIniFile.Create(ExtractFilepath(ParamStr(0)) + '_appdata' + '\' + 'Watch.ini');
try XMLFile := ini.ReadString('Settings', 'XMLFile', ''); finally FreeAndNil(ini); end; if not FileExists(XMLFile) then begin MessageBox(Handle, PChar(Format(rsFileNotFound, [s])), PChar(APPNAME), MB_ICONSTOP); Exit; end; |
Re: FileExists funktioniert nicht richtig
Hi,
Zitat:
|
Re: FileExists funktioniert nicht richtig
Die zweite Zuweisung war nur zum Testen, ob es mit ExtratFilepath irgendwie Probleme geben könnte. Aber hardgecodet funktioniert es ja auch nicht.
|
Re: FileExists funktioniert nicht richtig
Warm wohl?
Weil eigentlich das 1. benutzt werden sollte, aber zu Testzwecken der direkte Pfad eingegeben wurde. Damit sollte es ja 100% klappen, weil so Fehler in paramstr und extractfilepath ausgeschlossen werden. Ausserdem wird das 1. ignoriert wenn bei den Compilereinstellungen die Optimierung eingestellt ist. Man könnte es also auch weglassen, trotzdem müsste es funktionieren. |
Re: FileExists funktioniert nicht richtig
@Luckie:
Einfach mal Debuggen, dann siehste ja was nicht funktioniert. |
Re: FileExists funktioniert nicht richtig
Kann es sein das die Leerstelle nach Project ein Problem macht und du den Pfad in "" setzen musst?
Und warum schriebst du nicht appdata + \ Watch.ini nicht in einem ruck? |
Re: FileExists funktioniert nicht richtig
An der Leerstelle liegt es auch nicht:
Zitat:
Debuggen ist gut. Das CPU Fenster gibt mir meist mehr Rätsel auf, als dass es mir hilft. :? |
Re: FileExists funktioniert nicht richtig
Und wenn Du mal alles weg läßt, was irgendwie "komisch" sein könnte? Also ohne Unterstrich, Tilde etc.
Probiers doch einfach mal mit d:\demo\watch.ini Funktioniert wenigstens das? [Edit] [OT] - *LOL* Das mit MiB unten muß ich mir merken - der war gut :mrgreen: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:26 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