2009-09-03 6 views
1

J'essaie de créer un composant Active X qui va démarrer une application sur un ordinateur client. J'ai créé un contrôle Active X qui est assez simple dans .NET. ALl appelle la classe Process et appelle Start.Comment appeler un contrôle ActiveX en utilisant javascript dans une page ASP.NET

Maintenant, je veux être en mesure d'appeler la méthode de départ sur cette classe à partir de javascript en passant quelques paramètres sur la page (qui sont ensuite transmis comme arguments de ligne de commande).

J'ai suivi le guide ici: http://www.c-sharpcorner.com/UploadFile/mgold/HyperlinkExec03012007191054PM/HyperlinkExec.aspx

Ce guide parle de l'utilisation d'un lien hypertexte pour démarrer le javascript, mais je suis sur un bouton. Voici mon HTML (je suis en train dans ce tout simplement HTML au lieu d'ASP.NET pour garder les choses simples pour l'instant, mais je veux aller à ASP.NET éventuellement)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" > 

    <body> 
     <button type="button" onclick="javascript:launch()">Click me!</button> 
     <script type="text/javascript"> 
      function launch() 
      { 
       alert('test') 
       var myLauncher = new ActiveXObject('CardWriterApplicationLauncher'); 
       myLauncher.LaunchCardWriter('test', 'test', 'test'); 
      } 
     </script> 

    </body> 
</html> 

Comment quand je clique sur le bouton i obtenir l'erreur "Le serveur Automation ne peut pas créer d'objet". Je sais que mon dll COM est enregistré correctement dans le GAC et avec regasm, alors que pourrais-je faire mal?

De même, toutes les solutions de rechange pour lancer l'application sur le bureau des utilisateurs à partir d'une page Web seraient grandement appréciées. Les paramètres de sécurité du navigateur peuvent être modifiés au besoin, car les ordinateurs clients sont sous notre contrôle et se trouvent sur un réseau privé sans accès à Internet.

Merci

Répondre

0

Si vous avez des propriétés publiques ou des méthodes dans le contrôle ActiveX ne peut pas simplement appeler les références directement ID de la <Object> en utilisant JavaScript?

Ainsi, le contrôle ActiveX est déjà chargé sur la page à l'aide de la balise <object> et vous appelez simplement sa méthode.

+0

Comment procéder pour utiliser l'étiquette d'objet. J'ai vu des informations à ce sujet, mais je n'ai jamais réussi à le faire fonctionner. –

+0

Rechercher comment intégrer un contrôle ActiveX dans une page hmtl, voir: http://www.fpoint.com/support/whitep/ActiveX/ax1999.aspx Cela affichera le contrôle sur la page (dans votre cas, il pourrait ne pas avoir une interface, mais vous pouvez en ajouter une pour la tester) Une fois que vous avez le contrôle sur la page, vous pouvez commencer à interagir avec elle en utilisant javascript. –

0

Jeter le navigateur un instant et aller à l'ordinateur client, assurez-vous que vous pouvez créer l'objet activex correctement sur la machine, utilisez un simple script vb ou une application fictive.

Créer un fichier appelé something.vbs, en elle a mis le code suivant

Set MyObj = CreateObject("CardWriterApplicationLauncher") 

Une fois que vous avez vérifié cette partie travaille vers le navigateur.

Il est probable que votre problème n'a rien à voir avec votre navigateur.

De plus, j'ai juste remarqué que CardWriterApplicationLauncher n'est pas un identificateur d'objet valide dont ils ont habituellement besoin. en eux. par exemple word.application

Questions connexes