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 :

Active X, Property Get, Let pour Icone


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 Active X, Property Get, Let pour Icone
    Bonsoir.
    Je créer un composant ActiveX et j'ai besoin d'une propriété Icone. J'ai donc commencé par déclarer simplement une variable StdPicture en public. Cela fonctionnait très très bien.
    Maintenant j'ai besoin d'éxécuter certaines taches dès qu'un utilisateur agit sur cette variable. J'ai donc décider de faire des Property Get et Let. J'ai fait de même avec une autre variable de type String.
    Mon problème est le suivant. Lorsque je met ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Dim FIcone As StdPicture
     
    ...
    ...
     
    Public Property Get Icone() As StdPicture
    Set Icone = FIcone
    End Property
     
    Public Property Let Icone(Ic As StdPicture)
    Set FIcone = Ic
    End Property
    Dans la boite de propriété de VB6 apparaît bien une propriété Icone avec les ... pour selectionner un icone sur le disque. Mais lorsque j'en selectionne un, une erreur est générée :
    Citation Envoyé par erreur
    Nombres d'arguments incorrect ou affectation de propriété incorrecte
    j'ai essayé en enlevant le code à l'interieur des property, meme topo. en mettant une gestion d'erreur, je me suis rendu compte que l'on entrai jamais dans le property Let !! et qu'aucune de mes procédures et fonctions de mon controle ne déclenche d'erreur!!!!
    Un peu d'aide me serait grandement utile

    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 097
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 097
    Points : 16 606
    Points
    16 606
    Par défaut
    pour selectionner un icone sur le disque
    Pas sûr, mais n'as tu pas tendance a passer le chemin et fichier a la procedure Let Icone(Ic As StdPicture)
    Citation Envoyé par erreur
    ou affectation de propriété incorrecte
    Si oui, je pense que Let Icone(Ic As string) Set FIcone = loadpicture(Ic) serait plus correcte.

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    je pense qu'il faudrait remplacer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Property Let Icone(Ic As StdPicture)
    Set FIcone = Ic
    End Property
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Property Set Icone(Ic As StdPicture)
    Set FIcone = Ic
    End Property

  4. #4
    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 Delbeke, c'était ca
    Mais comment on sait s'il faut mettre Property Let ou Set ?? j'ai pas encore tout compris

  5. #5
    Membre confirmé Avatar de La Praline
    Inscrit en
    Mars 2007
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2007
    Messages : 592
    Points : 568
    Points
    568
    Par défaut
    Salut,

    j'ai trouvé ceci, puisse-t-il te servir:
    "Comme pour Let, la procédure Property Set va permettre de définir une propriété en lecture, c'est à dire que l'on va écrire à gauche du signe = dans une expression. La grande différence avec Let, c'est que l'on ne va pas lui affecter une valeur de type Variant mais une référence à un objet. Cet objet peut-être un objet COM (comme un objet ADO connection), ou bien une instance de classe.
    Cette propriété est en lecture seule."


    Et ceci:
    "Pour ajouter une propriété à une classe, en Visual Basic, il vous faut utiliser les instructions Property Get et Property Let. Ce que vous définissez via la construction Property Get est en fait proche d'une fonction qui a pour but de renvoyer la valeur de la propriété. La construction Property Let correspond à une procédure ayant pour but de modifier la valeur de la propriété."

    Cordialement

  6. #6
    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

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

Discussions similaires

  1. Property get, property let
    Par Bowen dans le forum WinDev
    Réponses: 3
    Dernier message: 20/11/2007, 11h08
  2. property let pour tableau de double
    Par hector2 dans le forum Général VBA
    Réponses: 5
    Dernier message: 11/10/2007, 10h13
  3. property let / property get.
    Par alsimbad dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 29/09/2007, 21h53
  4. [VB6]Property Get/Set avec groupe de contrôles
    Par jacma dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 24/01/2006, 12h09
  5. Activer les suppression en cascade pour toutes contraintes
    Par jdeboer dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 07/10/2005, 10h50

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