Primero cree un componente COM, inserte un ITEST de doble interfaz e implementa los siguientes tres métodos en esta interfaz:
Stdmethodimptest :: test (void) // sin parámetros de entrada y salida {// tODO: agregue el código de implementación MessageBox (NULL, L "Test", L "Test", MB_OK); return_ok;} stdmethodimptest :: test1 (bstra1) // Hay un parámetro de entrada de cadena {// tODO: agregue el código de implementación MessageBox (null, a1, l "test", mb_ok); devuelts_ok;} stdmethodimpctest :: test3 (bstr* a1) // es un parámetro bstr* de salida {//////////////1 a aquí: add the test3 (bstr* a1) // hay un parámetro bstr* de salida {///////////////1 AYA: AGREGAR EL CODEATA DE LA IMPLIMENTACIÓN: AGREGAR LA IMPLEMENT MessageBox (NULL, L "Test3", L "Test", MB_OK);*a1 = :: SysAllOcString (L "FenghUo Tres meses de letras familiares valen diez mil oro"); devueltos;}Los tres métodos anteriores en COM demuestran tres situaciones: sin parámetros de entrada y salida, un parámetro de entrada y un parámetro de salida. Una vez compilado el programa, use REGSVR32 para registrar el componente en el sistema, y luego puede usar el método de componente COM en IE con JavaScript. Hay dos situaciones para usar, los ejemplos son los siguientes:
1. Llame directamente al método COM
Cree un texto HTML e ingrese lo siguiente:
<html> <fead> <title> Ejemplo de método para llamar al componente com </title> <script language = "javascript"> document.write ("<hr>") var xml = new ActiveXObject ("atldll.test.1") xml.test () xml.test1 ("Pases parámetros para el com desde el método com documento2. Llame al método COM en la función JavaScript
Cree un texto HTML e ingrese lo siguiente:
<html> <fead> <title> objeto activo de Dongghailin </title> <script type = "text/javascript"> función displayMessage () {document.write ("<hr>") var xml = new ActiveXObject ("atldll.test.1") xml.test () xml.test1 ("pasa una cadena a la com componente") var str. // Devuelve la cadena del componente COM document.write ("str"+str) document.write ("<hr>")} </script> </head> <body> <form> <input type = "button" value = "¡Haz clic en mí!" onClick = "DisplayMessage ()"> </form> </body> </html>Tenga en cuenta que el componente COM escrito es para otras llamadas al sistema, por lo que la cadena de parámetros de entrada y salida debe ser de tipo BSTR.
3. Métodos para establecer propiedades del componente COM
Primer establecimiento de propiedades en el componente COM. Agregar variables de atributo en la clase de interfaz
BSTR M_BSTR;
Haga clic con el botón derecho en la interfaz y seleccione "Sorteo" -> "Agregar atributos" Ingrese el tipo de parámetro "BSTR" en el "Tipo de atributo de entrada" en el "Agregar Asistente de atributos, ingrese" BSTR "en" Nombre de atributo "e ingrese" BSTR ". El asistente genera automáticamente las funciones de atributos put_BStr y get_bstr, como sigue::::
Stdmethodimp ctest :: get_bstr (bstr * pval) {// tODO: agregue el código de implementación aquí * pval = m_bstr; return s_ok; } Stdmethodimp ctest :: put_bstr (BSTR newval) {// tODO: Agregue el código de implementación aquí m_bstr = newVal; MessageBox (NULL, M_BSTR, L "Prueba de atributo", mb_ok); return s_ok; }El siguiente código demuestra configurar y obtener propiedades en el script JavaScript de IE
<html> <head> <title> donghailin active object </title> <script type="text/javascript"> function displaymessage() { document.write("<hr>") var xml=new ActiveXObject("atldll.test.1") xml.bstr="The spring scenery in the garden cannot lock a red apricot out of the wall" //The property is bstr, the property setting in C ++ es put_bstr (...) document.write ("El valor de retorno de la propiedad es:"+xml.bstr) // El valor de la propiedad se obtiene en c ++ get_bstr (variable pointer) document.write ("<hr>")} </script> </head> <body> <table align = widthids width = 50> <form> <put type = "button" de clic = "Haga clic en mí!" onClick = "DisplayMessage ()"> </form> </table> </body> </html>El método de implementación simple anterior para usar componentes COM en JavaScript es todo el contenido que he compartido con usted. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.