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 :

Application.Terminate dans le OnCreate d'une form ?


Sujet :

Langage Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 98
    Points : 69
    Points
    69
    Par défaut Application.Terminate dans le OnCreate d'une form ?
    Bonjour,

    Je dois faire une action (arrêter certains services) si le paramètre "/uninstall" est passé à mon application, mais cela doit être transparent

    Si aucun paramètre, cela affiche la fenêtre de mon appli.

    d'où ma question, est-ce que faire Application.Terminate dans le onCreate de ma fiche est faisable ou cela peut avoir des conséquences inattendues ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    procedure TMaFiche.FormCreate(Sender: TObject);
    begin
      {si on est en désinstall, juste arrêter les services}
      if ParamStr(1) = '/uninstall' then
      begin
        ArreterLesServices;
        Application.Terminate;
        exit;
      end;
    //... reste du code
    end;
    Merci pour vos réponses

    Isa
    Isachat

  2. #2
    Expert éminent sénior

    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 : 34
    Localisation : Suisse

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Je crois que c'est faisable... Mais tu ferais beaucoup mieux de mettre ce code dans ton unité projet .dpr :
    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
    program Projet1;
     
    uses
      Forms,
      Unit1;
     
    begin
      if ParamStr(1) = '/uninstall' then
      begin
        ArreterLesServices;
        exit;
      end;
      Application.Initialize;
      Application.CreateForm(Form1, TForm1);
      Application.Run;
    end.
    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.

  3. #3
    Membre confirmé
    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
    Points : 576
    Points
    576
    Par défaut
    Bonjour,

    Je ne suis pas sure que cela soit possible.

    Si l'on est dans le onCreate d'une forme, il est impossible de faire un Free de la forme. Il faut attendre que la from soit créer pour la détruire. En générale il suffit de lancer un timer qui détruira la form deouis l'événement Ontimer.

    Si vous créer une forme, et que vous faite un application.Terminate, cette imposibilité risque d'interdire le Terminate. C'est a tester mais c'est quand même une forte propabilité.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 98
    Points : 69
    Points
    69
    Par défaut
    Citation Envoyé par sjrd
    Je crois que c'est faisable... Mais tu ferais beaucoup mieux de mettre ce code dans ton unité projet .dpr :
    Effectivement je n'y avais pas pensé. Mais comment dans le .dpr appeler ma fonction ArreterLesServices qui, elle, est écrite dans ma Form principale ?

    merci

    Isa
    Isachat

  5. #5
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Salut
    Citation Envoyé par isachat666
    Effectivement je n'y avais pas pensé. Mais comment dans le .dpr appeler ma fonction ArreterLesServices qui, elle, est écrite dans ma Form principale ?
    Tu n'a qu'à déclarer et implémenter ta fonction ArreterLesServices dans ton .dpr
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  6. #6
    Membre confirmé
    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
    Points : 576
    Points
    576
    Par défaut
    Bonjour,

    Peut être pourriez vous isoler la procedure dans une unité séparé.

    Ainsi vous pourriez l'appeler depuis d'ou vous le désirez (une Form, ou le Drp).

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 98
    Points : 69
    Points
    69
    Par défaut
    Citation Envoyé par Tardiff Jean-François
    Bonjour,

    Peut être pourriez vous isoler la procedure dans une unité séparé.

    Ainsi vous pourriez l'appeler depuis d'ou vous le désirez (une Form, ou le Drp).
    merci beaucoup, c'est ce que j'ai fait.

    j'ai extrait mes fonctions de la Form pour les mettre dans une unité séparée.

    Isa
    Isachat

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

Discussions similaires

  1. [CodeTyphon] Dans une application desktop afficher une form d'un service Windows
    Par inforock dans le forum Autres IDE
    Réponses: 7
    Dernier message: 05/05/2015, 18h58
  2. [VB6] [Excel] Feuille dans une form, sans excel installé
    Par ro2v dans le forum Installation, Déploiement et Sécurité
    Réponses: 3
    Dernier message: 05/05/2010, 12h45
  3. Réponses: 12
    Dernier message: 22/04/2009, 10h02
  4. Installer une application vb dans l'intranet d'une entreprise
    Par arindor dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 28/08/2007, 14h56
  5. [VB.NET] Comment lancer une application externe dans ma Form
    Par afdmats dans le forum Windows Forms
    Réponses: 1
    Dernier message: 03/10/2006, 15h27

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