11 Vote

Delphi/Lazarus: Différence entre ParamStr(0) et Application.ExeName

Question de Compi | 11/01/2024 à 16:05

Il n'y a pas si longtemps, j'ai posé la question de savoir comment déterminer le dossier de l'application ou le chemin d'accès à sa propre application respectivement comment obtenir le nom du fichier EXE de sa propre application.

Les deux peuvent être résolus en utilisant Application.ExeName ainsi que Paramstr(0).

Autant que j'ai compris, ParamStr(0) et Application.ExeName semblent être identiques. Mais où est la différence? Et pourquoi avons-nous besoin de deux fonctions faisant la même chose?

Et laquelle de ces fonctions devrais-je mieux utiliser? Y a-t-il des avantages ou des inconvénients pour l’un ou l’autre ?

RépondrePositifNégatif
2Meilleure Réponse2 Voix

En fait, les deux fonctions sont identiques. Application.ExeName appelle même ParamStr(0) en interne (du moins cela s'applique aux applications Windows ou Linux, Lazarus sur Darwin fait un peu plus).

Pour Application.ExeName, vous devez ajouter l'unité Forms pour que cela fonctionne, pour ParamStr(0), vous n'avez besoin que de l'unité System. Ainsi, si vous devez créer une application sans formulaires (sans interface utilisateur graphique / GUI), vous devriez mieux utiliser ParamStr(0) au lieu d'inclure l'unité Forms uniquement pour cette seule fonction.

Si vous avez déjà inclus l'unité Forms, pour Windows ou Linux, cela n'a pas d'importance. Cependant, dans ce cas, vous économisez un appel de fonction supplémentaire si vous utilisez ParamStr(0). Sur MacOS, je préférerais utiliser Application.ExeName si vous avez besoin du code additionnel.

En cas de doute, je recommanderais de prendre ParamStr(0) pour cette tâche.
11/01/2024 à 19:48

RépondrePositif Négatif
Répondre

Sujets Connexes

MySQL: Sauts de Ligne dans MySQL

Conseil | 0 Commentaires

Avis Important

Veuillez noter: Les contributions publiées sur askingbox.com sont des contributions d’utilisateurs et ne doivent pas remplacer les conseils d’un professionnel. Ils ne sont pas vérifiés par des indépendants et ne reflètent pas nécessairement l’opinion de askingbox.com. Apprendre encore plus.

Participer

Posez votre propre question ou écrivez votre propre article sur askingbox.com. Voici comment.