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

Outils Delphi Discussion :

[innosetup] Appeler une fonction depuis le choix d'installation


Sujet :

Outils Delphi

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 77
    Points : 37
    Points
    37
    Par défaut [innosetup] Appeler une fonction depuis le choix d'installation
    re bonjour à tous

    Je voulais savoir si cela est possible d'appeler une fonction ou procedure depuis la séléction de type d 'installation.
    exemple : si je choisis l'intslallation personnalisé, j'appelle une fonction qui va m'afficher une page personnalisé au lieu une page habituel (qui est réservé pour l'installation complète).
    Si vous voyez ce que je vexu dire.
    Les codes ci-dessous fonctionne , seul bémol c'est que la procédure InitializeWizard(); prend en compte les 2 types d 'installation. J'ai essayé de mettre Check: LinkDir au lieu de InitializeWizard(); cela ne marche pas


    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    [Types]
    Name: "complet"; Description: "Full"
    Name: "custom"; Description: "Custom"; Check: LinkDir
     
    [Components]
    Name: "program"; Description: "installation complète"; Types: complet;
    Name: "link"; Description: "raccourci"; Types: custom;
     
    [Tasks]
    Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
     
    [Files]
    Source: "c:\\rep\\"; DestDir: "{app}";  
     
    [Icons]
    Name: "{userdesktop}\Programme"; Filename: "{code:GetDataDir}\index.html"; Tasks: desktopicon; IconFilename: "{code:GetDataDir}\index.ico"; 
     
    (code)
    var
      DataDirPage: TInputDirWizardPage;
     
    procedure InitializeWizard(); 
    // ou LinkDir()
    begin
     
      DataDirPage := CreateInputDirPage(wpSelectComponents,
        ' Chemin du programme, 'Attention ceci n''est pas le répertoire d''installation',
        'Sélectionnez seulement le répertoire existant puis cliquez sur "Suivant".',
        False, '');
      DataDirPage.Add('');
     
    end;
     
    function GetDataDir(Param: String): String;
    begin
      Result := DataDirPage.Values[0];
    end;

  2. #2
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Bonjour,
    Citation Envoyé par forst Voir le message
    Je voulais savoir si cela est possible d'appeler une fonction ou procedure depuis la séléction de type d 'installation.
    exemple : si je choisis l'intslallation personnalisé, j'appelle une fonction qui va m'afficher une page personnalisé au lieu une page habituel (qui est réservé pour l'installation complète).
    Si vous voyez ce que je vexu dire.
    J'espère avoir bien vu (compris) , aussi voici comment je procèderais :
    J'utiliserais l'événement déclenché lors de l'appui sur le bouton suivant de l'assistant : NextButtonClick. Si le type de page est celle de sélection du type d'installation (wpSelectComponents), je récupère le choix avec la fonction WizardSetupType. Je peux alors tester cette valeur et agir en conséquence...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function NextButtonClick(CurPageID: Integer): Boolean;
    begin
      // Sortie de la page de sélection des composants
      if CurPageID = wpSelectComponents then
      begin
        // affichage du type d'installation sélectionnée
        MsgBox('Option d''installation'#13#10 + WizardSetupType(False),
          mbInformation, MB_OK);
        // Ici, à la place de la boite de dialogue, tester la valeur
        // et appeler la procédure de code adéquat...
      end;
      // Pour passer à l'étape suivante et ne pas bloquer l'assistant
      Result := True;
    end;
    Philippe.

Discussions similaires

  1. Appeler une fonction depuis le main de gtk+
    Par pffff dans le forum GTK+
    Réponses: 3
    Dernier message: 14/06/2018, 10h54
  2. appel à une fonction depuis de l'ajax
    Par benkunz dans le forum Langage
    Réponses: 1
    Dernier message: 15/03/2010, 17h13
  3. [PHP 5.2] appeler une fonction depuis une autre en POO
    Par Haxor668 dans le forum Langage
    Réponses: 2
    Dernier message: 23/09/2009, 10h02
  4. Appeller une fonction depuis un autre site
    Par ProgVal dans le forum Langage
    Réponses: 3
    Dernier message: 03/12/2008, 18h01
  5. Comment appeler une fonction depuis .Net ?
    Par bluecurve dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/07/2007, 19h00

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