begin process at 2008 09 06 00:43:26
1 237 607 membres
9 nouveaux aujourd'hui
14 313 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

PASSER DES PARAMÈTRES DE HTML/JAVASCRIPT VERS ACTIVEX (VB)


Information sur le tutorial

Catégorie :VBA Date de création : 18/08/2006 16:08:31 Vu : 9 402 fois

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

Description

Voilà un tutoriel expliquant un moyen de faire communiquer une page HTML/Javascript avec un Contrôle ActiveX

Tutorial

Tout d'abord le HTML :

<HTML>
<BODY>
<OBJECT name='ActiveX' classid="clsid:30DAB2BC-CC11-4DBE-804B-6661C9E8CD0C" Width='100px' Height='100px'>
<PARAM name='COLOR' Value='Nouvelle_Couleur'>
</OBJECT>
<script Language="Javascript1.3">
alert(ActiveX.Color);
</script>
</BODY>
</HTML>

La balise Object Instancie le contrôle ActiveX et la section Javascript montre que l'on peut bien accéder à la variable.
On essaye donc de faire passer la variable COLOR avec la valeur 'Nouvelle_couleur'

Ensuite Dans l'applet (VB) il faut :
Définir des variables pout stocker les valeurs :

Const m_def_Color = 0
Dim m_Color As Variant

m_def_Color stockera la valeur par défaut et l'autre la valeur entrée
Ensuite utiliser des fonctions pour récupérer et stocker les paramètres :


//Fonction permetant de Récupérer les paramètres
Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
    RaiseEvent ReadProperties(PropBag)
    m_Color = PropBag.ReadProperty("Color", m_def_Color)
End Sub

//fonction permetant de stocker les paramètres
Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
    RaiseEvent WriteProperties(PropBag)
    Call PropBag.WriteProperty("Color", m_Color, m_def_Color)
End Sub

'Fonction d'accessibilité sur la variable Color
'ATTENTION! NE SUPPRIMEZ PAS OU NE MODIFIEZ PAS LES LIGNES COMMENTÉES SUIVANTES!
'MemberInfo=14,0,0,0
Public Property Get Color() As Variant
    Color = m_Color
End Property

Public Property Let Color(ByVal New_Color As Variant)
    m_Color = New_Color
    PropertyChanged "Color"
End Property

'Initialiser les propriétés pour le contrôle utilisateur
Private Sub UserControl_InitProperties()
    m_Color = m_def_Color
End Sub

Voilà , C'est avec çà vous pouvez comprendre les passages de paramètres

Ce sont les éléments obligatoires (à mon sens) Si vous avez des suggestions n'hésitez pas
  • signaler à un administrateur
    Commentaire de rvblog le 23/09/2006 23:37:27

    Salut Jeskor,

    bien, bien.
    Que dire de plus?
    Juste une question, sais-tu si la propriété Color est bien restaurée par le PropertyBag?

    En VB, le PropertyBag sert, entre autres, à ce que le développeur puisse définir une propriété, à un ActiveX, situé sur un formulaire, et que le formulaire l'enregistre et la restaure à sa ré-ouverture (en instance conception comme en instance exécution).

    En HTML, il serait intéressant de vérifier que le navigateur implémente bien le PropertyBag, ce sur quoi j'ai un vrai doute, car pour que le surfeur bénéficie des réglages liés à l'instance conception, il faudrait lui downloader un fichier contenant le PropertyBag de la conception, et en ce qui concerne l'instance exécution, il faudrait désactiver l'affectation de la couleur (balise PARAM), donner un moyen à l'utilisateur de modifier la propriété, et vérifier que, lorsqu'il recharge la page, la propriété est restaurée.

    En bref, si ça ne marche pas, pas besoin du ReadProperties et du WriteProperties.

    Qu'en penses-tu?

  • signaler à un administrateur
    Commentaire de foued69 le 26/09/2006 17:19:13

    Salut,
    je débute en vb et voudrais savoir comment vous obtenez la donnée classid="clsid:30DAB2BC-CC11-4DBE-804B-6661C9E8CD0C" d'un activex
    merci

  • signaler à un administrateur
    Commentaire de skyaero le 08/06/2007 18:10:47

    Salut
    pas mal ce tuto.

    J'ai voulu le mettre sur un activeX que j'ai fait en VB6 mais je n'y arrive pas.
    En fait, mon problème se situe dès le debut de l'appel de l'activex, tout fonctionne bien mais quand je met un parametre (<PARAM name='COLOR' Value='Nouvelle_Couleur'>), l'activex ne veux plus se charger.

    voici le code d'appel de l'activex situé dans le fichier html :
    <OBJECT ID="UserControl1"
    CLASSID="CLSID:0EE4A7CF-61AC-4IIR-AA53-FD53E3A4B372"
    CODEBASE="monactivex.CAB#version=1,0,0,0">
    <PARAM name='Caption' Value="dfg">
    </OBJECT>

    Est-ce que quelqu'un aurait une idée ? ca fait deux jours que j'ai ce problèmes !

  • signaler à un administrateur
    Commentaire de gphoebus le 11/10/2007 18:40:23

    Idem pour moi, aprés chargement de la page web, elle rest blanche !
    Quelqu'un sait il se qu'il se passe ?
    Cordialement à tous

  • signaler à un administrateur
    Commentaire de Marcial le 15/11/2007 14:27:20






    Slt,
    pour skyaero et gphoebus...

    Votre problème viens du fait que lorsque l'on ajoute des balises <param> il faut impérativement mettre les attributs "height" et "width" de la balise <object>, sans quoi l'ActiveX est bien chargé mais a une taille 0x0 donc invisible...

    Au cas ou...
    Vérifiez tout de même que vos paramètres IE authorise bien l'execution des ActiveX...

    That's all...

  • signaler à un administrateur
    Commentaire de JACKY007 le 03/01/2008 10:44:58

    Pour foued69,
    la clsid d'un activeX est le numéro de référencement du composant au niveau de la base de registre.
    Lorsque l'on crée un activeX celui-ci est automatiquement référencé dans la base de registre. Il suffit donc de rechercher grâce à son nom, le clsId en effectuant : Démarrer | Executer | regedit ; puis de recherché le nom du composant dans l'éditeur de registre. On relève le clsid dans la fenêtre de gauche et celui-ci est directement réutilisable via HTML tel que l'on nous le décrit dans le tuto. Attention à ne rien y modifier...

Ajouter un commentaire

Pub



Appels d'offres

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

Boutique

Boutique de goodies CodeS-SourceS