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 ?
Sujets Connexes
Types MIME des Formats de Fichiers Microsoft Office
Info | 0 Commentaires
Delphi/Lazarus: Déterminer le Dossier de propre Application
Conseil | 0 Commentaires
Delphi/Lazarus: Afficher la Date et l'Heure actuelles
Conseil | 0 Commentaires
MySQL: Sauts de Ligne dans MySQL
Conseil | 0 Commentaires
Delphi/Lazarus: La touche ALT, SHIFT ou CTRL est-elle enfoncée?
Tutoriel | 0 Commentaires
Lazarus: Charger Fichier en tant que Array d'Octets et Enregistrer Array d'Octets en tant que Fichier
Tutoriel | 0 Commentaires
Delphi/Lazarus: Afficher Array d'Octets sous forme de Chaîne de Valeurs HEX
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.
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