22 Stimmen

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?

AntwortenPositivNegativ
3Beste Antwort3 Stimmen

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

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

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.