AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

FileExists funktioniert nicht richtig

Ein Thema von Luckie · begonnen am 14. Sep 2006 · letzter Beitrag vom 14. Sep 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

FileExists funktioniert nicht richtig

  Alt 14. Sep 2006, 10:01
So sieht es zu mindest für mich aus. Oder ich bin im Moment total blind:
Delphi-Quellcode:
  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;
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.

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.
Miniaturansicht angehängter Grafiken
watch_ini_588.jpg  
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

Re: FileExists funktioniert nicht richtig

  Alt 14. Sep 2006, 10:06
Kann es sein das du keine Rechte hats diese Datei zu lesen ??
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: FileExists funktioniert nicht richtig

  Alt 14. Sep 2006, 10:09
Habe ich gerade geguckt: Ich habe Vollzugriff.

Das verrückte ist:
Delphi-Quellcode:
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;
Hier greife ich mit den gleichen Pfad auf die Ini Datei zu und es klappt. Hier funktioniert auch FileExists richtig.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Catbytes
Catbytes

Registriert seit: 7. Sep 2002
Ort: Heckendalheim
353 Beiträge
 
Delphi XE5 Enterprise
 
#4

Re: FileExists funktioniert nicht richtig

  Alt 14. Sep 2006, 10:29
Hi,

Zitat von Luckie:
Delphi-Quellcode:
  s := ExtractFilepath(ParamStr(0)) + '_appdata' + '\' + 'Watch.ini';
  s := 'D:\Projekte Datawerk\PMD\trunk\Watch\~bin\_appdata\Watch.ini';
Wieso wird 's' zweimal ein Wert zugewiesen?
Catbytes
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: FileExists funktioniert nicht richtig

  Alt 14. Sep 2006, 10:33
Die zweite Zuweisung war nur zum Testen, ob es mit ExtratFilepath irgendwie Probleme geben könnte. Aber hardgecodet funktioniert es ja auch nicht.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#6

Re: FileExists funktioniert nicht richtig

  Alt 14. Sep 2006, 10:34
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.
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#7

Re: FileExists funktioniert nicht richtig

  Alt 14. Sep 2006, 10:37
@Luckie:
Einfach mal Debuggen, dann siehste ja was nicht funktioniert.
  Mit Zitat antworten Zitat
Benutzerbild von Daniel B
Daniel B

Registriert seit: 27. Okt 2005
Ort: Dachau
453 Beiträge
 
Delphi 2007 Professional
 
#8

Re: FileExists funktioniert nicht richtig

  Alt 14. Sep 2006, 10:37
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?
Servus...
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: FileExists funktioniert nicht richtig

  Alt 14. Sep 2006, 10:45
An der Leerstelle liegt es auch nicht:
Zitat:
Datei D:\Downloads\_appdata\Watch.ini konnte nicht gefunden werden.
Pfad existiert und Datei liegt auch in dem Ordner.

Debuggen ist gut. Das CPU Fenster gibt mir meist mehr Rätsel auf, als dass es mir hilft.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Catbytes
Catbytes

Registriert seit: 7. Sep 2002
Ort: Heckendalheim
353 Beiträge
 
Delphi XE5 Enterprise
 
#10

Re: FileExists funktioniert nicht richtig

  Alt 14. Sep 2006, 11:00
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
Catbytes
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:40 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