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 :

Probleme avec WinExec


Sujet :

Delphi

Vue hybride

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 96
    Par défaut Probleme avec WinExec
    Bonjour,

    Je suis en train de faire un application en mode service que je lance de cette maniere dans une procedure.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     WinExec(PChar(application.ExeName + ' /install /silent >'),SW_HIDE);
    Cette procedure est appelé lorsque je click sur un bouton tout simplement. Dans ce cas tout fonctionne correctement.

    Mais je souhaite installé mon service lors du formCreate, et là le probleme est qui me lance mon exe.

    Je ne comprend pas pourkoi.

    Merci de bien vouloir me guider.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 114
    Par défaut
    Heuu...ton WinExec....il est dans la procédure FormCreate ?

    Ben dans ce cas là c'est normal qu'il s'execute au démarrage puisque la procédure FormCreate est justement appellée au démarrage de l'appli !

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 96
    Par défaut
    Non le WinExec est dans la procedure ke j'apel.

    mais le probleme est que lorsque je lence mon application mon exe est exécute alors que sa devrait etre l'instalation de mon service.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 114
    Par défaut
    C'est pas très clair...tu peux nous montrer un peu le code ? Notamment ta procédure FormCreate et ta procedure ButtonClick ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 96
    Par défaut
    Voila la procedure FormCreate, mon probleme est la car au lieu de m'installer mon service, il me lance mon application .exe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    Installer_service;
    end;
    Pour l'installaton de mon service

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    procedure TForm1.Installer_Service;
    begin
    ....
      WinExec(PChar(application.ExeName + ' /install /silent >'),SW_HIDE);
    ....
    end;
    Et quand je le fait avec le click cela fonctionne tré bien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    procedure TForm1.Button3Click(Sender: TObject);
    begin
    Installer_Service;
    end;

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 114
    Par défaut
    Ben je ne vois aucun problème :

    1. La procédure FormCreate s'execute quand ton executable est lancé....donc, d'après ce que j'ai cru comprendre, quand ton service est lancé (puisque tu as transformé cette appli en service).

    2.Dans la procédure FormCreate tu lances la procedure Installer_Service.

    Conclusion : la procédure Installer_Service s'execute au démarrage de ton service !


    PS: Si je comprends bien, ton application possède un mode d'installation automatique en tant que service. Il faut lancer une premiere fois l'appli manuellement et cliquer sur le bouton Installer (qui execute ensuite la procedure Installer_Service). Du coup, je ne comprends pas pourquoi tu appelles la procedure Installer_Service dans ton FormCreate ??

  7. #7
    Membre émérite Avatar de slimjoe
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2005
    Messages : 647
    Par défaut
    Bonjour!

    Je suis peut-être un peu imbécile et assurément naïf de nature mais est-ce que l'application que démarre WinExec ne va pas aussi déclencher le OnCreate de cette dernière (qui va elle même démarrer une autre instance de l'application qui va déclencer OnCreate etc.) de façon infinie ?


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

Discussions similaires

  1. Probleme avec WinExec
    Par yosthegost dans le forum Delphi
    Réponses: 2
    Dernier message: 08/06/2006, 14h42
  2. Probleme avec la copie des surfaces
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/01/2003, 10h33
  3. probleme avec la touche F10
    Par b.grellee dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2002, 22h04
  4. Probleme avec fseek
    Par Bjorn dans le forum C
    Réponses: 5
    Dernier message: 04/08/2002, 07h17
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 08/06/2002, 23h06

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