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

JavaScript Discussion :

Executer une fonction d'un ActiveX


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 79
    Par défaut Executer une fonction d'un ActiveX
    Bonjour,
    Quelqu'un pourrais m'aider à executer une fonction d'un activeX.
    J'ai une fonction SendRequest dans mon activeX qui prend une String en entrée. J'arrive à executer ma fonction en java client lourd mais je n'y arrive pas en javaScript.

    Ci joint mon code source :

    <html>
    <script language="JavaScript">
    var lschaine;

    var activex = getHTTPObject();
    alert("ActiveX charge...........!!!");
    lschaine = "<InboundCall><Fct>1</Fct><Ani>0178000000</Ani><RefBp></RefBp></InboundCall>";
    activex.SendRequest(lschaine);

    function getHTTPObject() {
    var activex;
    if (window.ActiveXObject)
    activex = new ActiveXObject("BTSAP.BTSAPCtrl.1");
    return activex;
    }

    </script>
    </html>

    Merci d'avance

  2. #2
    Membre expérimenté Avatar de Cpas2latarte
    Inscrit en
    Janvier 2006
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 237
    Par défaut
    Je crois bien qu'il y a des contrainte de sécurité qui empêche l'instansiation d'un actveX dans une page WEB.

    1) Vérifie que l'objet "BTSAP.BTSAPCtrl.1" est bien installé est enregistré sur le client qui execute le script. Vu que c'est un script client, il ne suffit pas qu'il soit installer sur le serveur, mais bine sur le pose client.

    2) renomme ton fichier en .HTA (HTml Application) -> cela indique que le fichier n'est pas un simple HTML mais une application, a partir de la le sytème autorise l'utilisation des activeX.
    En double cliquant sur le fichier.HTA cela va executer le script.
    Si il n'y a pas d'erreur c'est que c'etait bien des limitation de sécurité

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 79
    Par défaut
    Citation Envoyé par Cpas2latarte Voir le message
    Je crois bien qu'il y a des contrainte de sécurité qui empêche l'instansiation d'un actveX dans une page WEB.

    1) Vérifie que l'objet "BTSAP.BTSAPCtrl.1" est bien installé est enregistré sur le client qui execute le script. Vu que c'est un script client, il ne suffit pas qu'il soit installer sur le serveur, mais bine sur le pose client.

    2) renomme ton fichier en .HTA (HTml Application) -> cela indique que le fichier n'est pas un simple HTML mais une application, a partir de la le sytème autorise l'utilisation des activeX.
    En double cliquant sur le fichier.HTA cela va executer le script.
    Si il n'y a pas d'erreur c'est que c'etait bien des limitation de sécurité
    Oui, l'objet est bien installé sur le poste client, et il fonctionne car je m'en sert dans une autre application en java Client Lourd.
    En le chargant dans la page html, il me dit qu'un controle activeX est présent sur la page, souhaitez vous l'executer. Je répond oui, mais ensuite il ne veut pas executer la méthode de cette activeX.

    J'ai essayé de renommer le fichier en HTA comme tu m'as dit, il charge bien l'activeX mais j'ai la même erreur, il ne reconnait pas méthode.
    Et pourtant je sais qu'elle existe et qu'elle marche car je l'ai testé en java client lourd. J'arrive pas à le faire en javaSrcipt ...

    Merci de votre aide .......

  4. #4
    Membre expérimenté Avatar de Cpas2latarte
    Inscrit en
    Janvier 2006
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 237
    Par défaut
    Alors la ....
    Ce qui m'etonne c'est le fait qu'on puisse l'utiliser en JAVA et pas en JS ...

    Une foix je me suit fait piégé par un active X (que j'avais fait moi même d'ailleurs, honte sur moi) a cause des propriété par défaut.

    Je m'explique.
    Mon objet avec une propriété par défaut. Cette propriété par défaut était lui même un objet possédant ces propres méthodes.

    Quand j'invoquait directement une methode de l'objet (propriété par défaut)
    ça passait en client lourd (VB) mas pas dans le script JS.(Methode inconnu)
    Tout se passer comme ci JS ne savais pas tenir comte de la propriété par défaut d'un composant.
    Pour utiliser le methode je devais explicitement passé par la propriété
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonObjet.LaPropriete.method()
    C'est peut être un problème de ce type ....
    Ou alors c'est peut être un problème de type.
    Quelle est le type renvoyé par la methode ?
    Quelle est le type du parametre?
    Il y a t'il des parametre optionnel ?

  5. #5
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 79
    Par défaut
    Citation Envoyé par Cpas2latarte Voir le message
    Alors la ....
    Ce qui m'etonne c'est le fait qu'on puisse l'utiliser en JAVA et pas en JS ...

    Une foix je me suit fait piégé par un active X (que j'avais fait moi même d'ailleurs, honte sur moi) a cause des propriété par défaut.

    Je m'explique.
    Mon objet avec une propriété par défaut. Cette propriété par défaut était lui même un objet possédant ces propres méthodes.

    Quand j'invoquait directement une methode de l'objet (propriété par défaut)
    ça passait en client lourd (VB) mas pas dans le script JS.(Methode inconnu)
    Tout se passer comme ci JS ne savais pas tenir comte de la propriété par défaut d'un composant.
    Pour utiliser le methode je devais explicitement passé par la propriété
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonObjet.LaPropriete.method()
    C'est peut être un problème de ce type ....
    Ou alors c'est peut être un problème de type.
    Quelle est le type renvoyé par la methode ?
    Quelle est le type du parametre?
    Il y a t'il des parametre optionnel ?
    Bonjour,
    les méthodes sont :

    METHOD (id = 1) :
    Signature : void SendRequest([] String chaine)
    Description : null
    Help File : C:\ActiveX\BTSAP.hlp

    METHOD (id = 2) :
    Signature : void AnswerFct([] String chaine)
    Description : null
    Help File : C:\ActiveX\BTSAP.hlp

    Je veux utiliser la première SendRequest.
    Merci...

  6. #6
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 79
    Par défaut
    J'ai vérifié pour la propriété, il n'y en a pas ...

  7. #7
    Membre expérimenté Avatar de Cpas2latarte
    Inscrit en
    Janvier 2006
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 237
    Par défaut
    Signature : void SendRequest([] String chaine)
    A priori la méthode attend un tableau de string et non un simple string
    Essai ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    lschaine = new Array();
    lschaine[0] = "<InboundCall><Fct>1</Fct><Ani>0178000000</Ani><RefBp></RefBp></InboundCall>";
    activex.SendRequest(lschaine);
    en espérant que les tableau JS soient compatibles avec les tableaux gérés par l'activex

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

Discussions similaires

  1. Executer une fonction se trouvant sur la fenetre maitre
    Par PrinceMaster77 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/02/2006, 14h54
  2. Réponses: 3
    Dernier message: 16/01/2006, 16h02
  3. [VBA] Executer une fonction en passant son nom en argument
    Par David Guyon dans le forum Access
    Réponses: 4
    Dernier message: 05/10/2005, 19h56
  4. executer une fonction à la fermeture d'une fenêtre
    Par Oluha dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 22/02/2005, 09h46
  5. [Reflection] Executer une fonction dont le nom est contenu dans un String
    Par christobal dans le forum API standards et tierces
    Réponses: 8
    Dernier message: 05/07/2004, 15h23

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