IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Ajout de paramètres à un programme


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 42
    Par défaut Ajout de paramètres à un programme
    Bonjour,

    j'aurais aimé savoir s'il est possible de rajouter des paramètres à un programme.

    J'ai vu qu'il était possible de changer la "CmdLine" mais cela n'impacte pas le résultat de la fonction "ParamCount". Il n'est donc pas possible d'accéder aux nouveaux paramètres via la fonction ParamStr() par la suite

    Y-a-t-il une manière de faire spécifique ou cela est-il interdit ?

    Merci d'avance

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2003
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 560
    Par défaut
    Voulez vous dire que vous désirez modifier les paramètres une fois l'application lancé ?

    Je ne crois pas que se soit possible. Par contre vous pouvez lire les paramètres au démarrage de l'application et les stoker dans une liste accessible de partout. Du coup vous pouvez modifier cette liste et vous en servire comme paramètre modifiable.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 42
    Par défaut
    Merci.

    Oui c'est bien cela, je souhaite modifier la cmdline, une fois le programme lancé.

    C'est une solution bancale pour palier à un problème encore plus bancal, je n'ai pas trouvé mieux.

    Pour faire simple :

    j'ai développé un logiciel.
    Récemment, je lui ai rajouté la possibilité de lancer 1 dll (ou 100) juste après l'initialisation mais avant l'affichage de la première form.

    Cette dll renvoie notamment des paramètres qui doivent pouvoir impacter le reste du programme mais je ne sais pas à l'avance lesquels.

    En revanche, tous ces paramètres sont pris en compte par le reste du programme (quand cela est nécessaire) via la CmdLine que je décortique avec les fonction ParamCount et ParamStr.

    J'avais donc dans l'espoir de pouvoir renovyer la cmdline en résultat de ma dll et remplacer l'ancienne ^^.

    Tant pis, je vais tester d'autres solutions. Je peux notamment analyser manuellement la chaine CmdLine et ne plus utiliser ParamCount et ParamStr.

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2003
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 560
    Par défaut
    Personellement je pensait a quelque chose dans ce genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    unit UMyParams;
     
    interface
    uses ............;
     
    Var
      ParamsList: TStringList;
     
    implementation
     
    Initialization
     ParamsList := TStringList.Create;
     while PramsList.count < ParamCount do
      ParamList.Add(PArams[ParamList.count + 1]);
     
    Finalization
     FreeAndnil(ParamsList);
    end.
    Il sufirait de mettre UMyParams dan le uses des form/unit ayant besoin de lire les paramètre pour qu'il puissent avoir acces a paramsList

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 42
    Par défaut
    Non car la CmdLine a été modifiée mais les fonctions ParamCount et ParamStr ne prennent pas en compte ces modifs

  6. #6
    Expert confirmé

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Par défaut
    Citation Envoyé par cretindezalpes
    Non car la CmdLine a été modifiée mais les fonctions ParamCount et ParamStr ne prennent pas en compte ces modifs
    Tu veux dire que les DLL modifient la variable CmdLine ? Ca n'aura aucun impact évidemment : chaque module a sa propre CmdLine, et les DLL l'ont toujours vide.

    Mais de toutes façons ParamCount et ParamStr ne reposent pas sur CmdLine, mais sur des API qui font leur boulot comme elles l'entendent.
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

Discussions similaires

  1. Ajout de paramètres dans le path du forward
    Par sylvain_neus dans le forum Struts 1
    Réponses: 6
    Dernier message: 14/11/2007, 17h31
  2. Réponses: 2
    Dernier message: 07/08/2006, 16h43
  3. [ajouter des paramètres au post avant envoi]
    Par jean-jacques varvenne dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 11/04/2006, 18h01
  4. problème d'ajout et suppression de programmes
    Par ran_hery dans le forum Windows XP
    Réponses: 2
    Dernier message: 14/12/2005, 12h21
  5. [DOS] paramètre de programme en hex
    Par goldou321 dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 08/11/2005, 00h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo