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 :

Instance unique des fenetres.


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de TryExceptEnd
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    501
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 501
    Par défaut Instance unique des fenetres.
    Comment faire dans une application MDI, pour ne lancer qu'une seule fois une fenetre fille et la relancer si elle est déja lancé, avec un code qui serait simple et efficace.(s'il vous plait)

    merçi.

  2. #2
    Membre confirmé Avatar de abdelghani_k
    Inscrit en
    Octobre 2002
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Octobre 2002
    Messages : 184
    Par défaut
    tu essaie ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     if Form1=nil then
      begin
        Form1:=TForm1.Create(Application);
        Form1.Show;
      end
      else
        Form1.WindowState:=wsNormal
    Attention, si dans OnClose de la fenêtre fille tu utilise Release, il faut ajouter
    pour que l'application puisse la recréer à partir du test : if Form1=nil then.

    Voici le code de Onclose :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      Release;
      Form1:=nil
    end;

  3. #3
    Membre très actif Avatar de TryExceptEnd
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    501
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 501
    Par défaut
    Merçi abdelghani_k,
    Il n'y aurait pas un code ou une méthode plus orientée objet ?
    Du genre utilisation de classes ?
    Merçi de votre aide.

  4. #4
    Membre confirmé Avatar de abdelghani_k
    Inscrit en
    Octobre 2002
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Octobre 2002
    Messages : 184
    Par défaut
    consultes ce lien, il peut vous être util :
    http://www.swissdelphicenter.ch/torr...ode.php?id=221

    et à la place de l'instruction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Form1.WindowState:=wsNormal
    tu peut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SendMessage(Form1.Handle, WM_SYSCOMMAND, SC_RESTORE, 0);

  5. #5
    Membre très actif Avatar de TryExceptEnd
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    501
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 501
    Par défaut
    Ok, je vais voir.
    Si quelqu'un d'autre a une autre idée, elle sera la bienvenu !

  6. #6
    Membre émérite Avatar de Yurck
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 16
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2005
    Messages : 682
    Par défaut
    Bonjour,

    Tu crées une fonction OuvertureFiche en lui passant en paramètre la classe de ta fenetre puis tu parcours les fenetre de l'appli en utilisant "Screen.Forms". Si dans cette liste ta class est présente alors tu l'affiches sinon tu la crées.

    a+

Discussions similaires

  1. Instance unique d'application en java: fermeture des sockets
    Par Bundy*Al dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 27/03/2014, 09h12
  2. [C#] Probleme de dimensionnement des fenetres en MDI
    Par stephdiplo150 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 28/05/2004, 19h05
  3. [SWT] Comment faire des fenetres internes ??????
    Par sebounator dans le forum SWT/JFace
    Réponses: 5
    Dernier message: 22/04/2004, 01h12
  4. [VB6] [DLL] DLL à instance unique
    Par HPJ dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 19/09/2003, 08h07
  5. [VB6] Listage des fenêtres windows
    Par gg78 dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 27/05/2003, 11h36

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