Activex vb6 : sous-controles publics

cs_Nephilim Messages postés 25 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 4 octobre 2005 - 29 sept. 2005 à 12:18
cs_Nephilim Messages postés 25 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 4 octobre 2005 - 4 oct. 2005 à 16:05
Bonjour à tous,

Suite aux problèmes discutés il y a peu, je suis en train de recoder un controle .Net en VB6 de façon à en faire un activeX valide.

Mon souci est tout bête, désolé, je ne connais que très peu VB6 et je me perd encore un peu :-/ Comment fait-on pour rentre les éléments graphiques du contrôle publics ? Attention, c'est vraiment tout con, je ne veux pas exposer une propriété, juste pourvoir m'en resservir en interne.

Pour être plus précis, j'ai une pivot table (owc) dans mon controle. A côté, dans le projet, j'ai un module de classe MyPivotTable qui renferme un pacson de fonctionnalités (drillthrough, color coding, etc.) et auquel j'aimerai passer la pivot table affichée, pour qu'il puisse bosser dessus directement. Sauf que quand je lui passe la barzingue il plante et me répond que c'est une propriété privée, normal, je n'ai rien fait pour la rendre publique ...

Pas moyen de mettre la main sur la déclaration de la pivot table (un truc comme "WithEvent pt As OWC10.PivotTable"). On m'a parlé d'une option dans les menus qui permettrait de définir la portée des propriétés, mais je n'ai trouvé que l'assistant de création d'interface, à priori c'est pas ça. On m'a aussi parlé des PropertyBag mais je ne trouve rien de très concret à ce sujet.

A votre bon coeur, si quelqu'un a une astuce, il aura droit à toute ma gratitude ;)

Tonio

1 réponse

cs_Nephilim Messages postés 25 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 4 octobre 2005
4 oct. 2005 à 16:05
Re,

Bon, j'ai fini par me résoudre à une solution de contournement : je laisse la pivottable en private (pas le choix) et je déclare les subs/fonctions de la classe qui y accèdent en Friend. Ainsi pas de souci de portée, et je peux passer la pivottable en paramètre.

Pour ceux que ça pourrait intéresser par la suite, l'assistant de création d'interface permet (entre autres) de générer les fonctions Set/Get d'accès aux propriétés/méthodes, les entrées PropertyBag, et les bind d'évènements. On peut ainsi exposer tout ce qui est contenu dans un composant inclus dans le contrôle activex qu'on est en train de créer, et ce sans avoir à se frapper toutes les déclarations à la main. Par contre toujours pas moyen d'exposer le composant en lui même par ce biais, ça je n'ai toujours pas trouvé comment on faisait pour le rendre public ...

Astuce secondaire au passage, l'assistant en question est situé dans le menu "compléments" (add-ins). Si il n'y est pas, il faut le lancer par le gestionnaire de compléments, toujours dans le même menu.

Vala, si ça peut aider un noob comme moi à gagner quelques heures ... :o)

Bon, vous êtes tous en vacances là ou c'est que je saoule tout le monde avec mes topics foireux ? ;)

Tonio
0
Rejoignez-nous