AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

GetFileAttribute - BUG?

Ein Thema von Alter Mann · begonnen am 20. Mai 2017 · letzter Beitrag vom 22. Mai 2017
Antwort Antwort
Seite 1 von 2  1 2   
Alter Mann

Registriert seit: 15. Nov 2003
Ort: Berlin
901 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

GetFileAttribute - BUG?

  Alt 20. Mai 2017, 20:10
Hallo,

wenn ich folgenden Pfad expandiere

Code:
..\..\..\..\..\..\..\..\Music\Enya\Paint the Sky with Stars- The Best of Enya\01 Orinoco Flow.mp3
und anschlißend mit FileExists das Ergebnis prüfe, kommt ein False

Also den Debugger angeworfen und in FileExists einen Breakpoint gesetzt.
Das Ergebnis: GetFileAttributes gibt ein INVALID_FILE_ATTRIBUTES zurück.

Ein nachfolgendes GetLastError ergibt ein ERROR_PATH_NOT_FOUND.

Kann jemand den Fehler bestättigen?
Welche Alternativen gibt es zu FileExists?

Achso, ich benutze Tokyo mit dem April-Update

Danke und ein schönes WE
  Mit Zitat antworten Zitat
SneakyBagels
(Gast)

n/a Beiträge
 
#2

AW: GetFileAttribute - BUG?

  Alt 20. Mai 2017, 20:13
Zitat:
wenn ich folgenden Pfad expandiere
Was heißt denn, wenn du ihn expandierst?
Welcher Wert wird denn effektiv mit FileExists geprüft? Stell ihn doch mal ggf. anonymisiert hier ein.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.708 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: GetFileAttribute - BUG?

  Alt 20. Mai 2017, 20:17
Zitat:
Kann jemand den Fehler bestättigen?
Ja, wenn die Datei nicht existiert (hier einer der Verzeichnisse über der Datei), bzw. wenn der Pfad falsch ist, dann bekomme ich ebenfalls den selben Fehler.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014

Geändert von himitsu (20. Mai 2017 um 20:28 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.602 Beiträge
 
Delphi 5 Professional
 
#4

AW: GetFileAttribute - BUG?

  Alt 20. Mai 2017, 21:33
Da das ein relativer Pfad ist, ist hier das Arbeitsverzeichnis von entscheidender Bedeutung. Stimmt das nicht bzw. ist ein anderes als vermutet, wird eben die Datei nicht gefunden bzw. am falschen Ort nachgeschaut. Lösung: Absoluten Pfad sauber zusammenbauen, so dass das Arbeitsverzeichnis irrelevant wird.

Grüße
Dalai
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
881 Beiträge
 
#5

AW: GetFileAttribute - BUG?

  Alt 20. Mai 2017, 23:40
Wennns denn ein relativer Pfad sein soll vielleicht mit SetCurrentDir das passende Ausgangsverzeichnis festlegen. Ich weiß aber grad aus dem Kopf nicht, ob das Abhilfe schaffen kann. Einfach mal ausprobieren. Fiel mir nur grad so ein.
Absoluter Pfad ist aber sicher besser.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
Alter Mann

Registriert seit: 15. Nov 2003
Ort: Berlin
901 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: GetFileAttribute - BUG?

  Alt 21. Mai 2017, 07:10
Moin, Moin,

danke für die schnelle Reaktion, aber der Fehler scheint wo anders zu liegen.

Genutzt wird beim speichern ExtractRelativePath und beim laden ExpandFilename.

Ich prüfe das mal genauer und komme dann neu.

Danke

Geändert von Alter Mann (21. Mai 2017 um 07:32 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.708 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: GetFileAttribute - BUG?

  Alt 21. Mai 2017, 10:41
ExpandFilename nutzt ebenfalls das aktuelle Arbeitsverzeichnis deiner Anwendung
und Pfade relativ zum Arbeitsverzeichnis sind immer gefährlich, wenn man nicht aufpasst, denn beim Starten der Anwendung oder z.B. durch Anzeigen eines Öffnen-/Speicherndialogs muß dieses nicht dem Programmverzeichnis entsprechen.

Aber wie SneakyBagels beteits erwähnte, hast du das wichtigste Vergessen und nicht nachgeschaut, oder zumindestens nicht uns gesagt, wie die Verzeichnisse der Zieldatei und das ergebnis von ExpandFilename aussehen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014

Geändert von himitsu (21. Mai 2017 um 10:43 Uhr)
  Mit Zitat antworten Zitat
SneakyBagels
(Gast)

n/a Beiträge
 
#8

AW: GetFileAttribute - BUG?

  Alt 21. Mai 2017, 12:03
Zitat:
danke für die schnelle Reaktion, aber der Fehler scheint wo anders zu liegen.
Lass dir doch mal den Pfad der geladen und gespeichert werden soll auf dem Bildschirm ausgeben.
Dann weißt du ganz genau, ob er korrekt ist oder nicht. Habe ich oben aber schon einmal geschrieben...
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
8.134 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: GetFileAttribute - BUG?

  Alt 21. Mai 2017, 22:29
Das ganze Raten macht doch gar keinen Sinn.

Nimm einfach den Process Monitor und gib als Filter ein: "Process Name" "is" deine.exe

Dann gibst du bei dem Fehler ein ShowMessage aus, lässt das offen und schaust was zuletzt im Log steht.
Dann siehst du direkt was Sache ist...
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.708 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: GetFileAttribute - BUG?

  Alt 21. Mai 2017, 22:58
Nimm einfach den Process Monitor...
Oder einfach im Debugger schauen was übergeben wird, bzw. das per ShowMessage direkt ausgeben.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 04:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf