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 :

Désigner un control a partir d'un module


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Ndugu
    Profil pro
    Inscrit en
    Août 2004
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 121
    Par défaut Désigner un control a partir d'un module
    Bonjour à tous,

    Je crée un control activeX qui devient de plus en plus gros...
    Alors, pour facilité sa "lecture" j'ai décidé de déporter certaines de ses méthodes dans un fichier module que j'ai ajouté au projet.

    Mais toutes les références à mon controle, du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UserControl.MonBouton.Caption = "Bonjour"
    Déclenche l'erreur d'éxécution 424 : un objet est requis, En surlignant UserControl

    Le lien n'est plus fait entre le module et le control bien qu'il soit dans le meme projet.

    Je ne trouve pas par quoi remplacer UserControl pour designer le controle, comment faire?

    Merci d'avance!

  2. #2
    Membre éprouvé Avatar de Le Pharaon
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 880
    Par défaut
    Tu exécute cette instruction dans une fonction ?
    Laisse voir un peu plus de codes

  3. #3
    Membre confirmé Avatar de Ndugu
    Profil pro
    Inscrit en
    Août 2004
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 121
    Par défaut
    Voici mon problème simplifier au maximum :
    - J'ouvre un nouveau control Active X
    - Je pose un bouton (MonBouton) et un Label (Label)

    Voici le code pour afficher "bonjour" dans le label :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Public Sub Bonjour()
       UserControl.Label.Caption = "Bonjour"
    End Sub
     
    Private Sub MonBouton_Click()
        Call Bonjour
    End Sub
    Jusqu'ici tout marche sans problème.

    Maintenant, je fais ajouter un module au projet et je déplace la procédure Bonjour() dans le module.

    UserControl n'est plus reconnu... comme je l'ai décris ci dessus.
    (Mais attention, il sagit là d'un projet ActiveX, car avec une Form classique il n'y a aucun problème à faire cela)

    Merci pour vos conseils...

  4. #4
    Membre éprouvé Avatar de Le Pharaon
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 880
    Par défaut
    Et si tu fais ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Sub Bonjour( nomUserControle as Usercontrole )
     nomUserControle.Label.Caption = "Bonjour"
    end sub

  5. #5
    Membre confirmé Avatar de Ndugu
    Profil pro
    Inscrit en
    Août 2004
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 121
    Par défaut
    Merci Bujuman pour tes réponses! sur tes conseils, voici ce que j'ai essayé :

    Dans le module :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Public Sub Bonjour(nomUserControle As UserControl)
        monUserControle.Label.Caption = "Bonjour"
    End Sub
    Dans le control :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub MonBouton_Click()
       Bonjour (UserControl)  'ou Bonjour(Me)
    End Sub
    Mais cela me génère l'erreur type incompatible en désignant l'appel de la fonction.

    J'ai également essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Sub Bonjour(nomUserControle As Control)
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Sub Bonjour(nomUserControle As Object)
    mais rien n'y fait...

    Peut etre que cela n'est pas possible?

  6. #6
    Membre confirmé Avatar de Ndugu
    Profil pro
    Inscrit en
    Août 2004
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 121
    Par défaut
    Pour l'instant je garde toute mes procédures à l'interieur de mon controle, n'arrivant pas à trouver une solution.

    Je voulais exportés mes procédures et fonctions dans des modules afin de les classer par thème pour struturer ma programmation et pouvoir plus facilement être relue. (Mon controle sera certainement modifié par d'autre personnes.)

    Mais cela n'est pas une condition vitale à son fonctionnement...

    Je suis toujours preneur si quelqu'un a une idée, sinon tant pis!

    merci !

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

Discussions similaires

  1. Tracé à partir d'un module extérieur
    Par Souleyre dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 15/01/2007, 17h19
  2. [VB.NET] modifier un composant a partir d'un module
    Par miya dans le forum Windows Forms
    Réponses: 3
    Dernier message: 14/12/2006, 09h49
  3. controler checkBox à partir d'un autre classeur
    Par Echizen1 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 17/07/2006, 09h26
  4. Réponses: 12
    Dernier message: 01/06/2006, 15h32
  5. la valeur d'un controle a partir de BindingManager
    Par Amri_Daly dans le forum Framework .NET
    Réponses: 1
    Dernier message: 23/12/2005, 18h15

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