Mon programme définit son écran sur la base de si le programme fonctionne pour la première fois ou non. Afin de déterminer si le programme est en cours d'exécution pour la première fois que j'utilise actuellement un lorsque le programme exécute, il appelle une méthode qui vérifie l'état de cette valeur BOOL et agit en conséquence: < / p> Il semble fonctionner assez efficacement, si le fichier .exe est déplacé et lancé à partir d'un nouvel emplacement, il l'estime une première exécution et je suis préoccupé par le fait que je ' Je fais cela de manière désordonnée et peut-être qu'il existe une manière plus efficace pour tester les programmes d'abord. Y a-t-il un meilleur moyen de le faire? P> P>
3 Réponses :
Étant donné que votre question semble être préoccupée par chaque utilisateur qui lance l'application, vous devez concevoir une solution par utilisateur.
Utilisation de propriétés.Settings fonctionnera et être efficace tant que le réglage en question est l'utilisateur. -pecific. p>
Toutefois, si cela n'est pas souhaité ou approprié pour votre application, vous pouvez également écrire une entrée spécifique à l'utilisateur au registre. p>
Par exemple: P>
La clé de registre sera-t-elle réinitialisée à NULL ou à quelque chose de similaire lorsque vous désinstallez l'application?
@NEOWIN: Non, vous devez ajouter une classe d'installateur..NET pour effectuer ce travail ou implémenter cela dans le programme d'installation de votre choix.
difficile à deviner ce qui est désordonné si vous ne postez pas ou ne le décris pas. Une approche évidente consiste à disposer d'un paramètre nommé "Expath". Si vous obtenez NULL ou une chaîne qui ne correspond pas à l'assemblage.getTryassembly (). Emplacement, il a été simplement installé ou déplacé. P>
semble que votre problème est réellement que si vous déplacez Utiliser Quelque chose comme ça, un pseudocode em>: p> regardez sur Ce échantillon Comment atteindre ce moyen plus détaillé. P> P> exécutable code> vers un autre emplacement / dossier sur le PC useSettings code>, sur properties.settings.default.firstrun code> devrait résoudre votre problème. P>
C'est ainsi que mon code est réellement. Je m'excuse que j'ai oublié de le taper de cette façon. Heureux que vous recommandez de la manière dont je l'utilise.
Essayez ceci: Stackoverflow.com/Questtions/622108/...
Vous pouvez obtenir une meilleure réponse si vous participez à plus de détails sur la raison pour laquelle vous devez savoir. Par exemple, si vous devez demander à l'utilisateur quelques questions à la première exécution et que vous stockez ces réponses, la question sera réduite vers l'endroit où stocker ces réponses. En outre, "la première fois" est ambiguë - première fois par cet utilisateur? Première fois sur cette machine? Plus vous donnez de détails, meilleures sont la réponse que vous obtiendrez.
Pourquoi vous attendriez-vous à un utilisateur de déplacer votre application?
@svick: Probablement ce n'est pas une attente, mais une expérience.
Le programme n'installe pas, il fonctionne localement à partir de son fichier .exe. En conséquence, s'ils téléchargent le programme et l'exécutent, puis décident plus tard qu'ils souhaitent que le programme résidait ailleurs, elle le considère comme une première exécution. Ce n'est pas un gros problème, mais je veux que le code soit aussi propre que possible, alors je pensais peut-être qu'il y avait un moyen plus efficace de le faire que de la façon dont je suis. @Tigran: Vous êtes correct, bien que mentionné, ce n'est pas grave si elles déplacent le programme.
Salut tout, y a-t-il une propriété Fairtrun chez Delphi / Rad Studio Delphi? Gentiment laissez-moi savoir comment il peut être utilisé à Delphi à Rad Studio.