[ActiveX]

[ActiveX] - Programmation

Marsh Posté le 07-02-2001 à 16:57:59    

Hello...
j'ai fait un ocx que j'arrive à appeler en utilisant le clsid:
 
<OBJECT NAME="BRIDGE"
CLASSID="CLSID:3AFE9DE6-FD10-11D4-951B-0050BAE77213"
>  <PARAM NAME="url" VALUE="toto"> echec </OBJECT>
et appeler la fonction avec:
BRIDGE.launchXML("toto??" );
 
la fonction est bien appelée, et fait bien son boulot.
 
Je dois aussi pouvoir l'appeler avec un javascript. je fais:
 
<script language="Javascript">
var bridge=new ActiveXObject("SQXML.SqxmlCtrl.1" );
bridge.launchXML("alors ?" );
</script>
 
Ca plante !!
ca me dit: Demande d'accès à la méthode ou propriété inattendue.
L'objet est bien créé (je génère des traces dans le constructeur)
mais pas moyen d'appeler la fonction.
 
Le composant activeX a été créé avec visual C++ et la fonction launchXML a été "exportée" dans le class wizard....
 
Des idées ??

Reply

Marsh Posté le 07-02-2001 à 16:57:59   

Reply

Marsh Posté le 07-02-2001 à 17:49:08    

Euh...
 
Essaie sans faire de "var bridge=new ActiveXObject("SQXML.SqxmlCtrl.1" );"
 
En effet, ça, c'est la syntaxe pour utiliser un Objet en ASP... (côté serveur)

Reply

Marsh Posté le 07-02-2001 à 18:07:21    

Essaie sans faire de "var bridge=new ActiveXObject("SQXML.SqxmlCtrl.1" );"  
 
mais si j'enlève le new ActiveXObject... l'objet n'est pas créé et il ne saura pas ou trouver ma fonction launchXML...
non ??

Reply

Marsh Posté le 07-02-2001 à 18:39:27    

ben si...
 
<OBJECT NAME="BRIDGE"  
CLASSID="CLSID:3AFE9DE6-FD10-11D4-951B-0050BAE77213"  
>  <PARAM NAME="url" VALUE="toto"> echec </OBJECT>  
 
ça fait quoi à ton avis :D :p

Reply

Marsh Posté le 08-02-2001 à 13:56:35    

oui ok mais en fait le but du jeu c'est de pouvoir appeler le composant activeX uniquement grace au javascript et sans utiliser de balise OBJECT...
en fait il faut que je fasse marcher les deux methodes:
tag object + appel de la fonction en javascript
et
new ActiveXObject(..) + appel de la fonction en javascript
j'étais il est vrai pas bien clair

Reply

Marsh Posté le 08-02-2001 à 14:14:30    

ça sent le TP ça :D
 
pour le "new ActiveXObject(..)", je sais pas...
je peux pas t'aider...

Reply

Marsh Posté le 08-02-2001 à 14:19:07    

Béh non c'est pas un tp !!
J'suis plus étudiant, c'est pour faire une liaison entre un content manager et xmetal... et c'est le bordel !!
 
et ça m'arrache les cheveux...
sur les newsgroup un gars de microsoft m'a dit que Of course un Control Active X devait être lancé d'un serveur... oui bien sûr !!!
 
En fait le but du jeu, c'est a partir du content manager, de lancer mon activex avec la balise object.. l'activex lance xmetal... et une marco xmetal en javascript permet de remonter le travail fait sous xmetal sur le content manager...
bref d'un coté j'appel avec le tag object et de l'autre j'appelle  avec le javascript....
 
j'ai essayé de faire un object ATL/COM, ça y'a aucun sens ou ça marche... un ActiveX (ocx) ca permet de faire marcher dans un sens.... mais now je sais plus quoi faire ....
help

Reply

Marsh Posté le 08-02-2001 à 20:15:59    

bah désolé...
 
attends, maintenant, j'ai MSDN Library sous les yeux, je jette un coup d'oeil.

Reply

Marsh Posté le 08-02-2001 à 20:19:54    

OK, bon...
 
héhé...
 
enlève le ".1" à la fin du nom de l'objet :D
 
ça va marcher beaucoup mieu...
 
dans tes paramètres IE, met aussi sécurité minimum et va dans les params avancés pour activer les ActiveX dans avoir besoin de confirmer (en effet, je doute qu'il soit signer, donc IE ne va pas le laisser se charger comme tu le souhaites)

Reply

Marsh Posté le 09-02-2001 à 10:51:13    

UP
 
répond si ça marche :sweat:

Reply

Marsh Posté le 09-02-2001 à 10:51:13   

Reply

Marsh Posté le 09-02-2001 à 10:57:56    

Béh ça marche point... mais hier j'ai eu une lumière...
en fait le control activex ne peut pas être lancé par un javascript pur (va savoir pkoi).
par contre si je fais une dll au format ATL/COM et que dedans je mets un activeX serveur je peux l'utiliser par le clsid et une balise object, et par mon javascript en new activexobject...
donc c'est winned...
le seul problème now, c'est que je suis emmerdé avec des BSTR: je veux passer des chaines de caractère en param a mes fonctions mais y'a que le premier caractèr qui passe.... je m'arrache les cheveux encore une fois !!!!
 
et au fait merci pour tes réponses rapides :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed