Entwickler-Ecke

Dateizugriff - ParamStr(0) mit Verknüpfung??


fcg - Mi 30.07.03 14:01
Titel: ParamStr(0) mit Verknüpfung??
Hi @ All

wenn ich mein program mit einer Verknüpfung starte, gibt mir ParamStr(0) immer den Pfad der Verknüpfung und nicht den der Andwendung wieder. Wie bekomme ich immer den pfad der Anwendung heraus??

thÄnxX

fcg


Terra23 - Mi 30.07.03 14:09

Also, wenn ich diesen [http://www.delphi-forum.de/viewtopic.php?t=877&highlight=verkn%FCpfung] Beitrag richtig interpretiere, mußt du doch beim Anlegen der Verknüpfung den Pfad des Originalpfades eingeben, oder? Kannst du den nicht seperat irgendwo speichern (in der Registry z.B.)?


Tana´Ri - Mi 30.07.03 14:10

gute frage, was bekommste bei
application.exename


neojones - Mi 30.07.03 14:11

Application.ExeName gibt nicht ParamStr(0) zurück sondern den Namen der eigenen Datei.

Mit ExtractFileDir(Application.ExeName) wird dann der Pfad zurückgegeben.

Viele Grüße,

Matthias


Tana´Ri - Mi 30.07.03 14:20

wenn du oben gelesen hättest worum es geht hättest du dir denken können das mein vorschlag gleichzeitig eine frage ist.

vorraussetzung war das die exe über ne lnk gestartet wird, dabei enthält Paramstr(0) den pfad der lnk und nicht wie üblich den der exe, also war mein gedanke vielleicht steht der exe pfad ja immer noch in application.exename ?!
(oder im Paramstr(1) wohlmöglich stichwort CommandLine ...)


fcg - Mi 30.07.03 14:21

mit der Regitry habe ich auch versucht. allerdings liefert mir Inno Setup immer nur eine Teil des Pfades...

z.B:
'C:\Program' und nicht alles zurück...

fcg


Tana´Ri - Mi 30.07.03 14:24

kuck mal was darin steht

Application.Exename
ParamStr(1)

notfalls lässt du dir mal die Commandozeile anzeigen; so:

caption := string(getCommandline);


fcg - Mi 30.07.03 14:27

so hat es zumindest einmal geklappt...


Delphi-Quelltext
1:
ExtractFileDir(Application.ExeName)                    


danke euch beiden dafür...

fcg


Delete - Mi 30.07.03 15:09

Ich weiß ehrlich gesagt, nicht was ihr da macht. ParamStr(0) liefert mir auch bei einer Verknüpfung immer den korrekten Anwendungspfad.


fcg - Mi 30.07.03 17:18

bie mir (WinXP) liefert es den Pfad der Verknüpfung...


Delete - Mi 30.07.03 17:27

Ich habe 98 und XP parallel drauf, und in beiden Fällen ist

Delphi-Quelltext
1:
paramstr(0)                    

der Pfad und Name der Anwendung, was

Delphi-Quelltext
1:
Application.ExeName                    

entspricht. Der erste Parameter, der der Anwendung übergeben wird, beginnt grundsätzlich bei Eins.

Meine Idee wäre, dass es sich bei der angeblichen Null evtl. um eine integer-Variable "O" (oooh) handelt, die witzigerweise den Wert Eins hat. :wink: