Probleme avec un control activeX

le fab - 22 nov. 2001 à 17:06
 Larwin - 23 nov. 2001 à 10:02
'lut tout le monde

voila, j'ai créé un control active X moi même, qui est une DBcombobox "customisée"
maintenant, lorsque je l'insert dans mon projet, j'ai besoin de 2 de ces combobox sur un meme écran
donc j'en pose 2 sur ma feuille

et là probleme :
lorsque j'affecte une valeur à une propriété de mon objet 1, la meme propriété de l'objet 2 se trouve égualement affecté par cette meme valeur !!
(ce qui est genant puisqu'il s'agit d'un champ "boundcolumn")

j'ai compilé mon control avec les propiété "mono thread" et "threads cloisonnées", mais ca ne change rien

comment on fait pour obtenir 2 control independant ??
merci
fabien

5 réponses

tu dois avoir un probleme dans la déclaration de ta propriété ou de l'ocx... quelque chose de public ou qqch comme ca... fait voir le code de l'ocx parsk là sans rien c un peu chaud...

++

Larwin
0
merci de ta réponse

en gros, mes variables sont déclarée en public dans un module, et des routines 'property let' et 'property get' permettent de les modifier et de les lire
j'ai bien entendu implémenter les evenements UserControl_ReadProperties et UserControl_WriteProperties

si j'ai déclarer en public dans un module mes variables, c'est parce que mon active X est composé de 1 userControl et de 2 feuilles (pour simuler une liste déroulante et une infobulle) ... c'est peut etre ce qui pose probleme

j'espère que ces précisions te permettront de m'aider
(je peux pas mettre le source ici, c'est un peu long)

merci
fabien
0
bein voila t'as la réponse a ta question :)

pour les propriétés d'un control tu fais, dans le code de ton Usercontrol

' Déclaration

Dim MaPropriete1 as Long
Dim MaPropriete2 as String
Dim MaPropriete3 as C'keTuVeux ... etc

' Procédure ... blablabla

Public Property Get Propriete1() As Long
Propriete1 = MaPropriete1
End Property

Public Property Let Propriete1(ByVal NewPropriete1 As Long)
MaPropriete1 = NewPropriete1
PropertyChanged "Propriete1"
End Property

... par exemple ... pi pareil pour tes autres propriétés. La propriété "Propriete1" est stockée dans la variable MaPropriete1 ... rien ne t'empeche apres de passer ces variables a tes modules ou tes feuilles par la suite...
Pi c beaucoup mieux que de déclarer des variables Public
0
merci bien

je vais faire comme ca, mais il me reste un petit pb :
aucun soucis pour passer mes variables de mon controle (le UserControl) aux feuilles du projet, par contre depuis ces feuilles, le controle et ses objets ne sont pas 'visibles' (et ni depuis un module commun d'ailleurs)
et c'était la raison de cette architecture bizarre ou je déclarais tout en plublic dans un module

alors par exemple comment acceder à un objet de mon controle depuis une de mes feuilles ??
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lut fab' :)

hmmmm... mouais je vois c'ke tu veux dire...
rdv sur le chat vbfrance pour que je te file un p'tit coup de main... ok ? bein si t'as le msg dans pas trop longtemps j'y serais, sinon mail moi le truc, j'analyserai mieux je crois...

++

Larwin
0
Rejoignez-nous