Einzelnen Beitrag anzeigen

Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
824 Beiträge
 
Delphi 10.4 Sydney
 
#1

ExpandFileName gibt "falsches" Ergebnis aus

  Alt 29. Okt 2024, 17:43
Delphi-Version: 10.4 Sydney
Hallo Zusammen,

die Funktion ExpandFileName gibt ein unerwartetes Ergebnis aus, welches ich nicht verstehe.

Ich habe in dem Ordner, in welcher die Exe-Datei liegt weitere Ordner, unter anderem den Ordner RES. Aus diesem Ordner soll eine Datei geladen werden, die auch vorhanden ist.

Pfad der Exe-Datei
Code:
'D:\Software_Entwicklung\VersandApp\VersandApp\BD_VersandClient\Win32\Debug\BD_DHL.exe'
Jetzt möchte ich folgende Datei laden:
Code:
'D:\Software_Entwicklung\VersandApp\VersandApp\BD_VersandClient\Win32\Debug\Res\PDF_View.fr3'
Dazu verwende ich die ExpandFileName Funktion:
Report.LoadFromFile(ExpandFileName('.\Res\PDF_View.fr3'));
Und dann gibt ExpandFileName den Pfad
Code:
'D:\XML\Res\PDF_View.fr3'
aus. Diesen Pfad gibt es gar nicht, den im Ordner D:\XML gibt es keine weiteren Unterordner...

Ich hatte diesen Pfad erwartet:
Code:
'D:\Software_Entwicklung\VersandApp\VersandApp\BD_VersandClient\Win32\Debug\Res\PDF_View.fr3'
Habe ich die Funktion falsch verstanden - ich verwende sie öfters, ohne je Probleme gehabt zu haben...

NACHTRAG:
Es ist verrückt, aber ich arbeite gerade an einer Client Server App. Das Problem, dass ich hier beschrieben habe, entsteht in der ClientApp. Ich hatte in der Liste der überwachten Ausdrücke einen Ausdruck ExpandFileName('./Res/PDF_View.fr3'), also hardgecodet und nicht mit Variablenamen. Und in der ServerApp gibt er den richtigen Wert zurück:
Code:
'D:\Software_Entwicklung\VersandApp\VersandApp\BD_VersandServer\Win32\Debug\Res\PDF_View.fr3'
Den Ordner gibt es in der ServerApp nicht, sondern nur in der ClientApp, aber der Pfadaufbau ist der richtige.

Beide Funktionen greifen auf die System.SYSUtils zu, also da gibt es keinen Unterschied...

Ich bin verwirrt....

Vielen Dank
Patrick
Patrick

Geändert von Ykcim (29. Okt 2024 um 18:08 Uhr)
  Mit Zitat antworten Zitat