Delphi/Lazarus: Unterschied zwischen ParamStr(0) und Application.ExeName
Frage von Compi | Letztes Update am 12.01.2024 | Erstellt am 05.02.2016
Ich habe hier kürzlich eine Frage gestellt, wie man den Programmordner oder Pfad der eigenen Anwendung beziehungsweise den Namen oder die EXE-Datei der eigenen Anwendung ermitteln kann.
Beides konnte man sowohl mit Application.ExeName als auch mit Paramstr(0) lösen.
So weit ich es verstanden habe, sind also ParamStr(0) und Application.ExeName identisch. Wo ist dann aber der Unterschied? Und wieso braucht man zwei solcher Funktionen, wenn sie gleich sind?
Und welche der beiden Funktionen sollte man am besten verwenden? Gibt es Vorteile oder Nachteile?
Ähnliche Themen
MIME Types der Microsoft Office Dateiformate
Info | 0 Kommentare
Delphi/Lazarus: Kommandozeilen Parameter Tutorial Teil 2: Empfangen
Tutorial | 0 Kommentare
Delphi: Ordner in dem sich eigenes Programm befindet auslesen
Tipp | 0 Kommentare
Delphi: Globale Behandlung von Fehlermeldungen (Exceptions)
Tutorial | 0 Kommentare
Delphi/Lazarus: Link zu einer Website in einer Anwendung setzen
Tutorial | 0 Kommentare
Delphi/Lazarus: Kommandozeilen Parameter Tutorial Teil 1: Senden
Tutorial | 0 Kommentare
Delphi/Lazarus: 3 Wege um eine Zahl auf X Nachkommastellen zu runden
Tutorial | 0 Kommentare
Wichtiger Hinweis
Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.
Jetzt mitmachen
Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.
Beide Funktionen sind tatsächlich identisch. Application.ExeName ruft sogar intern ParamStr(0) auf (zumindest bei Windows und Linux Programmen, Lazarus unter Darwin macht etwas mehr).
Für Application.ExeName musst du die Unit Forms hinzufügen, für ParamStr(0) nur die System-Unit. Solltest du also ein Programm ohne Form (ohne graphische Benutzeroberfläche / GUI) programmieren, solltest du lieber ParamStr(0) verwenden anstatt nur für diese eine Funktion Forms einzubinden.
Wenn du Forms eh eingebunden hast, ist es für Windows oder Linux prinzipiell egal. Jedoch sparst du dir auch in diesem Fall natürlich einen Funktionsaufruf, wenn du ParamStr(0) nimmst. Unter MacOS würde ich dann eher zu Application.ExeName tendieren, wenn Du den zusätzlichen Code brauchst.
Ich würde also im Zweifel ParamStr(0) empfehlen.
Letztes Update am 12.01.2024 | Erstellt am 05.02.2016