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

Langage Delphi Discussion :

Lancement d'une compilation innosetup en ligne de commande


Sujet :

Langage Delphi

  1. #1
    Membre régulier
    Consultant informatique
    Inscrit en
    Octobre 2006
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 68

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 240
    Points : 103
    Points
    103
    Par défaut Lancement d'une compilation innosetup en ligne de commande
    Bonjour à tous.
    1° question
    Après création d'un fichier *.iss pour innosetup par delphi4, je souhaite lancer automatiquement la compilation de ce fichier toujours par mon application delphi4.
    J'ai placé ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShellExecute(0,'OPEN','Compil32/cc C:\MonFolder\MyFile.iss', Nil , Nil, SW_SHOW)
    Malheureusement, rien ne se passe sinon l'ouverture du fichier précisé.
    2° question
    le nom du fichier varie je souhaite donc le placer en variable mais delphi 4 ne reconnait pas la syntaxe de ma variable.
    Je place cette variable :
    en lieu et place de mon path du fichier.

    Merci pour votre aide car mes recherches sont vaines.
    Disposer du "Savoir" c'est bien, le partager c'est encore mieux. !

  2. #2
    Membre éprouvé
    Avatar de Dr.Who
    Inscrit en
    Septembre 2009
    Messages
    980
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Septembre 2009
    Messages : 980
    Points : 1 294
    Points
    1 294
    Par défaut
    1) relis la doc d'innoSetup

    2) relis la doc sur ShellExecute, notement la section qui explique l'argument des parametres.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShellExecute(0, 'open', 'compil32.exe', '/cc unfichier.iss', nil, sw_show);
    [ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
    Ma messagerie n'est pas la succursale du forum... merci!

  3. #3
    Membre régulier
    Consultant informatique
    Inscrit en
    Octobre 2006
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 68

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 240
    Points : 103
    Points
    103
    Par défaut
    Merci pour cette syntaxe. Ce n'est pas faute d'avoir cherché mais tout semble toujours clair pour ceux qui savent.
    Pour l'ouverture c'est ok mais il me reste le souci de la variable du fichier à ouvrir qui elle me pose toujours problème.
    J'essaie de recréer la chaine mais elle n'est jamais reconnue!
    Merci
    Disposer du "Savoir" c'est bien, le partager c'est encore mieux. !

  4. #4
    Membre éprouvé
    Avatar de Dr.Who
    Inscrit en
    Septembre 2009
    Messages
    980
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Septembre 2009
    Messages : 980
    Points : 1 294
    Points
    1 294
    Par défaut
    oui désolé pour le ton neutre de mes reponses, parfois, on "oublis" que nous aussi avons été "gros noob" en prog ... et qu'on mets du temps à avoir la RTFM attitude.


    alors pour le fichier :

    le plus simple crée une fonction :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function compileISSFile(const aFileName: string): boolean;
    var param : string;
    begin
      param := '/cc "'+aFileName+'"';
      result := ShellExecute(0, 'open', 'compile32.exe', PChar(param), nil, SW_SHOW) > 32;
    end;

    on peu aller plus loin en faisant :
    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
     
    function compileISSFile(const aFileName: string; const useISSC: boolean = false {compile32.exe by default}): boolean;
    var
      param : string;
      wdir : string;
    begin
      wdir := extractFilePath(aFileName);
      param := '"'+aFileName+'"';
      case useISSC of
        false : begin
          param := '/cc '+param;
          result := ShellExecute(0, 'open', 'compile32.exe', PChar(Param), PChar(WDir), 5) > 32;
        end;
        true : result := ShellExecute(0, 'open', 'issc.exe', PChar(Param), PChar(wdir), 5) > 32;
      end;
    end;
    et le nom de fichier doit être un nom complet donc pas :
    "monscript.iss"
    mais
    "c:\programmation\installations\scripts\monprogramme\monscript.iss"
    [ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
    Ma messagerie n'est pas la succursale du forum... merci!

  5. #5
    Membre régulier
    Consultant informatique
    Inscrit en
    Octobre 2006
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 68

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 240
    Points : 103
    Points
    103
    Par défaut
    Voilà qui est clair et qui a le mérite de m'avoir apporté la solution à un problème qui hantait mes nuits...!
    Merci pour cette consultation Dr Who !
    Disposer du "Savoir" c'est bien, le partager c'est encore mieux. !

  6. #6
    Membre éprouvé
    Avatar de Dr.Who
    Inscrit en
    Septembre 2009
    Messages
    980
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Septembre 2009
    Messages : 980
    Points : 1 294
    Points
    1 294
    Par défaut
    mais de rien, ça fera 21€ ...
    [ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
    Ma messagerie n'est pas la succursale du forum... merci!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lancement d'une compilation avec Make.exe
    Par devEric69 dans le forum EDI
    Réponses: 2
    Dernier message: 26/11/2012, 11h16
  2. [WD14] Lancement d'une compilation externe
    Par LuckyLuke56 dans le forum WinDev
    Réponses: 5
    Dernier message: 01/12/2010, 11h55
  3. Réponses: 1
    Dernier message: 17/03/2009, 10h10
  4. [c#]compiler une application web en ligne de commande
    Par chorokari dans le forum ASP.NET
    Réponses: 1
    Dernier message: 23/01/2007, 09h55
  5. Lancement d'une appli win32 en ligne de commande
    Par Invité(e) dans le forum Windows
    Réponses: 2
    Dernier message: 16/09/2005, 12h05

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