ActiveX - Pb d'appel UserControl_ReadProperties

cs_spectro2 Messages postés 5 Date d'inscription lundi 12 janvier 2004 Statut Membre Dernière intervention 5 février 2013 - 4 févr. 2013 à 17:30
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 - 14 févr. 2013 à 12:38
Salut à tous,

J'ai un ocx qui récupère un paramètre donné dans une page html du style :

<object name="monOcxCtl" id="monOcxCtl1" classid="CLSID:BD305DAC-E232-45B0-A79E-8D00FE3D3294" height="40" width="72" />

</object>

Dans mon OCX j'ai ces méthodes (simplifiées):
Private Sub UserControl_Show()
MsgBox "UserControl_Show"
End Sub

Public Sub UserControl_ReadProperties(PropBag As PropertyBag)
MsgBox "UserControl_ReadProperties"
Call ReadProperties(PropBag)
End Sub

L'OCX fonctionne bien sous windows XP + IE7.
J'installe le même OCX sur Windows7 + IE9 + désactivation du filtrage des ActiveX et le problème c'est que lors de l'exécution je passe directement à la méthode UserControl_Show() sans passer par UserControl_ReadProperties.

Pouvez-vous me dire pourquoi je ne peux plus exécuter UserControl_ReadProperties ?

Merci à tous !!

3 réponses

Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
5 févr. 2013 à 10:29
Bonjour,

Public Sub UserControl_ReadProperties(PropBag As PropertyBag)
MsgBox "UserControl_ReadProperties"
Call ReadProperties(PropBag)
End Sub


Je ne comprends pas trop ton code.
Déjà en principe la sub readProperties est Private et non Public.
Ensuite on ne l'utilise pas comme ça. Il faut (propriété par propriété):

MyProperty = Propbag.ReadProperty("MyProperty", DefalutValue)

et en principe i y va (en mode design ou en Run Mode) à l'initialisation de ton UC.

Ceci dit, je dirais qu'en principe je ne pense pas que le problème vienne de IE9. As-tu essayé avec un autre explorateur pour voir.
Calade
0
cs_spectro2 Messages postés 5 Date d'inscription lundi 12 janvier 2004 Statut Membre Dernière intervention 5 février 2013
5 févr. 2013 à 16:37
Partons du principe qu'il faut appeler les propriétés comme tu le dis : "Propbag.ReadProperty("MyProperty", DefalutValue)", comment fais-tu pour accéder à Propbag ?

Merci
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
14 févr. 2013 à 12:38
Le squelette des évènements Readproperties() et WriteProperties() te le fournissent en paramètre.
Sinon (en dehors de ces 2 évènements) à ma connaissance ce n'est pas possible.
J'ai déjà été confronté à ce problème (le contexte étant différent il est vrai).


Calade
0
Rejoignez-nous