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

VB 6 et antérieur Discussion :

UserControl : savoir si l'application est lancée


Sujet :

VB 6 et antérieur

  1. #1
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut UserControl : savoir si l'application est lancée
    Bonjour,
    Je suis en tain de developper un Usercontrol. Celui-ci doit faire certaines action sur la feuille qui le contient (couleur ...). Mon problème est que dès que je met le control sur la feuille (en mode création) il applique ses modification sur la feuille. Or moi je voudrai qu'il ne les appliquent que lorsque l'application est lancée. Y'a-t-il un moyen de savoir si l'application est lancée ou non ?

    Merci d'avance

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Bonjour avigeilpro,

    intéresse-toi à la propriété Usermode de l'objet Ambient. C'est précisément son rôle.

    exemple :
    If Ambient.userMode then 'on est en mode exécution

    .......

    Else ' on est en mode création

    ....

    end if

    Edit important : fais gaffe, hein... ne l'utilise surtout pas (serait inefficace) à l'initialisation mais uniquement après ce stade (évidemment).

  3. #3
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut
    Merci beaucoup, ca marche nickel

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Points : 1 418
    Points
    1 418
    Par défaut
    Salut,

    J'ai un souci en me servant de ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub UserControl_Terminate()
        Debug.Assert False
        If Ambient.UserMode Then
            'Mode exécution
            DESTRUCTOR_CtlWeb2Container
        End If
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ?err.Description 
    Client Site not available
    Je suis en mode design ; la séquence est la suivante :

    1/ ouverture d'une form contenant le contrôle (en mode design)
    2/ fermeture de cette form
    => J'arrive sur le _terminate, que je ne veux pas exécuter en mode design précisément

    Erreur au niveau de la ligne en caractères gras.
    Any idea welcome

    add : Client Site not available (Error 398)

    Citation Envoyé par msdn
    The User Control or User Document cannot retrieve information from its container. This error has the following cause and solution:

    The User Control or User Document tried to get information from the container's Ambient properties or its Extender object before the container attached to it. This can happen if you try to access these objects before your InitProperties or ReadProperties events get fired, such as in the Initialize event, or for some containers in the Terminate event.
    To solve this problem, wait for an InitProperties or ReadProperties event before accessing these objects.
    Apparemment - mon contrôle est de type container - je ne peux pas savoir si je suis en mode design avant le terminate -.- ou si je lancer un readproperties / initProperties ... Très très gênant.

  5. #5
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Points : 1 418
    Points
    1 418
    Par défaut
    Bon en fait apparemment le _terminate n'est de toute façon pas appelé en mode runtime -.-

  6. #6
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Essaye l'evenement hide

  7. #7
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Bonsoir, vld44,

    Tu trouveras là (message n° 9) :

    http://www.developpez.net/forums/sho...d.php?t=464334

    un très vieux document que je m'étais fait à l'époque, dans une très ancienne version de Word.

    Il m'a fallu le transformer en RTF, au prix de quelques déformations, mais il reste lisible.

    Ouvre-le en double-cliquant (je pense qu'il sera alors ouvert par Word)

    Je pense également qu'il devrait te faire gagner un peu de temps.

    Amitiés

  8. #8
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Points : 1 418
    Points
    1 418
    Par défaut
    merci.

    De toute façon je préfère passer par mes constructeurs / destructeurs customisés, sauf exceptions ...

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/02/2012, 17h16
  2. Savoir si l'application est lancée d'un Portable ou d'un Fixe
    Par Korleone dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/10/2009, 15h36
  3. Savoir si une application est lancée
    Par hebus44 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 10/08/2008, 16h02
  4. savoir si une application est lancée.
    Par ataya dans le forum Forms
    Réponses: 0
    Dernier message: 27/02/2008, 16h25
  5. Comment savoir si une application est lancée ?
    Par Teddy dans le forum Delphi
    Réponses: 2
    Dernier message: 02/07/2006, 19h33

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