![]() |
Application Path
Hi Leute,
wie kann ich den Applikationspfad meiner Anwendung in Delphi herausfinden? Irgendwie mit extractpath, oder so ähnlich? Könnt ihr mir helfen? Vielen Dank im voraus. Gruss xthing |
Re: Application Path
das ist:
Zitat:
Grüße Klaus |
Re: Application Path
Hallo,
Delphi-Quellcode:
oder
ExtractFilePath(Application.ExeName)
Delphi-Quellcode:
ExtractFilePath(ParamStr(0))
|
AW: Application Path
Dazu haette ich noch eine Frage
Bei mir klappt das mit dem Pfad so lange ich in der Entwicklungsumgebung bin. Kopiere ich jedoch das kompilierte Programm Main.exe mitsamt einem Unterverzeichnis (im gleichen Ordner wie Main.exe) in irgendein anderes Verzeichnis und fuehre es aus, dann findet das Programm den Unterordner nicht mehr. Das heisst ExtractFilePath(Application.ExeName) entspricht dann nicht mehr dem Pfad zur Main.exe. Wieso ist das so? Ich dachte ExtractFilePath(Application.ExeName) gibt immer den Pfad zur Main.exe zurueck auch wenn ich Main.exe an beliebige Orte auf der Platte kopiere. Gutelo |
AW: Application Path
Das ist auch so. Wo liegt denn dein Programm und was wird dort zurück gegeben?
Ein Beispiel: c:\programme ist ab Vista nur eine Umleitung auf c:\program files, so dass du letzteres zurück bekommst. |
AW: Application Path
Kommt drauf an: Wenn du dein Release-Verzeichnis z.B. in C:\Program Files\ kopierst, hast du dort in der Regel keine Schreibrechte. Deshalb "biegen" neuere Windows-Versionen den Programmpfad um und schreiben in Wirklichkeit in einen öffentlichen Pfad. Das ist natürlich falsch! Jaenicke hat es oben korrekt dargestellt ...
Eine portable Anwendung sollte allerdings, da sie ja nicht in einem der System-Ordner liegt, durchaus in ihr Programmverzeichnis schreiben dürfen. Dazu hat ![]() ![]() ![]() |
AW: Application Path
Hallo ich habs gerade nochmal ausprobiert.
Wenn ich es unter C:\users\userxyz\Downloads\Unterordner\ packe dann geht es nicht. Wenn ich es irgendwo auf D:\ packe dann geht es. Anscheinend gibt es in den User Ordnern Probleme. |
AW: Application Path
Was heißt "geht nicht"? Was steht denn in Application.Exename bzw. ParamStr(0)?
|
AW: Application Path
Liegt es nur an den Ordner "Downloads". Dieses ist im Explorer nicht direkt ein Ordner sondern eine Weiterleitung auf einen beliebigen Ordner.
Sag uns doch mal bitte die Fehlercodes oder die Exception. |
AW: Application Path
Da es hier danach klingt.
KEINE relativen Pfade verwenden, denn das Arbeitsverzeichnis muß nicht dem Programmverzeichnis entsprechen (z.B. wenn das Programm über einen Link oder in einem umgeleiteten Vertzeichnis im Explorer, über aufgerufen mit relativen Pfaden und über Suchpfade gefunden) und das arbeitsverzeichnis kann sich auch während Laufzeit des Programms leicht mal verändern (daür reicht schon ein TOpenDialog aus). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:53 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