Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi RenameFile - ParamStr(0) bleibt gleich (https://www.delphipraxis.net/150250-renamefile-paramstr-0-bleibt-gleich.html)

fui-tak 11. Apr 2010 14:01


RenameFile - ParamStr(0) bleibt gleich
 
Hallo, ich habe da ein kleines Problem mit der Methode RenameFile.

Wenn ich folgendes mache...
Delphi-Quellcode:
RenameFile(ParamStr(0),'C:\abc.exe');
...ist ParamStr(0) immer noch der alte Pfad mit altem Dateinamen und nicht 'C:\abc.exe'.
Man könnte das Programm neu starten, aber das ist ja nicht soooo schön.


Gibt es eine Möglichkeit ParamStr(0) zu aktualisieren?

daywalker9 11. Apr 2010 14:08

Re: RenameFile - ParamStr(0) bleibt gleich
 
Nein gibt es nicht. Denn deine Exe hat natürlich immer noch der ursprünglichen Dateinamen. Neustart ist der einzigste Weg, um den neuen Namen zu bekommen per ParamStr

gsh 11. Apr 2010 14:09

Re: RenameFile - ParamStr(0) bleibt gleich
 
Zitat:

Zitat von fui-tak
...ist ParamStr(0) immer noch der alte Pfad mit altem Dateinamen und nicht 'C:\abc.exe'.

Klar da sich ParamStr(0) nicht ändert weil es ja die Startparameter angibt wobei halt der 0 Parameter immer der Exe Pfad ist.

Zitat:

Zitat von fui-tak
Man könnte das Programm neu starten, aber das ist ja nicht soooo schön.

Es ist auch nicht schön eine Exe im laufenden Betrieb umzubennen.
Was soll das überhaupt bringen?

Zitat:

Zitat von fui-tak
Gibt es eine Möglichkeit ParamStr(0) zu aktualisieren?

Imho nein

fui-tak 11. Apr 2010 14:19

Re: RenameFile - ParamStr(0) bleibt gleich
 
Schade, dass es nicht klappt. Dann werde ich es anders machen.

Aber Danke für die flotten Antworten!

Wegen der Frage wofür ich das brauche:
Das ist Teil einer Updatefunktion, die ich schon in ein paar Programme eingebaut habe und jetzt habe ich dieses Problem gefunden.
So funktioniert es bisher: Die neue Version wird gestartet und soll sich nach dem Löschen der alten Version zum alten Namen umbenennen.

Dann mache ich es jetzt anders herum: Die alte Version benennt sich und die neue Version um und startet die Neue dann.

rollstuhlfahrer 11. Apr 2010 15:37

Re: RenameFile - ParamStr(0) bleibt gleich
 
Ich finde diese Idee nicht gerade umwerfend. Mach doch ein Update-Skript, welches die neue gedownloadete Datei dann über die alte Datei drüber kopiert. Dann musst du nichts mehr damit machen, dass sich EXE-Dateien selbst umbenennen.

Bernhard

Jens Hartmann 11. Apr 2010 16:07

Re: RenameFile - ParamStr(0) bleibt gleich
 
Ich würde es auch in der Richtng wie Bernhard sagt machen. Wenn du dein Update z.B. mit IS-Tool als Setup oder so gestalltest, ist doch ein überschreiben bei älteren Versionen gar keine Problem.

Gruß Jens


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:19 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