Red de conocimientos sobre prescripción popular - Conocimiento dental - Cómo transferir datos entre JavaScript y ActiveX

Cómo transferir datos entre JavaScript y ActiveX

Cómo comunicarse entre lenguajes de secuencias de comandos como JS y controles ActiveX, cómo pasar varios tipos de parámetros y cómo utilizar la interfaz COMIDispatch para promover su lenguaje de secuencias de comandos LUAAutoCad, etc.

1. Pasar parámetros en una matriz de números enteros

2. Valor de retorno de la cadena del parámetro de cadena

3. Modificar el contenido de la cadena entrante

4. Parámetros de la matriz

5. Introducción a la interfaz idispatch

6. Modificar el contenido de la matriz de entrada

7. p>

8.La matriz JS pasa parámetros llama a S4Execute().

1.

El uso de Inbuff/Outbuff requiere el uso del parámetro de matriz S4 ejecutar().

2.

Los datos enteros JS Byte/Short/Int y otros tipos de elementos de matriz son todos int (COMVT_I4 donde I representa un número entero y 4 representa 4 bytes).

3.

JSArrayCOM implementa operaciones en imágenes IDispatch a través de la API de la interfaz IDispatch. Consulte la introducción a IDispatch en la subsección.

4.

Definición de com++

Introducción a la interfaz IDispatch

1.

La persona que llama llamada por C programa La especificación de la interfaz (tipo de parámetro, byte de parámetro, orden de parámetro, etc.) debe conocerse de antemano. Debido a que algunas especificaciones del mismo idioma no se resuelven con el mismo COM, se proporciona la interfaz IDispatch.

2.

IDispatch requiere que su instancia sea autodescriptiva, es decir, el método de llamada para obtener directamente la imagen debe estar claro de antemano.

3.

IDispatch especifica el tipo relacionado a través de VT_TYPE.

Conformación de bytes VT_I44, cadena VT_BSTRunicode VT_DISPATCH representa la imagen IDispatch.

4.

Asigne una cadena de Id. entera a cada atributo o función (método). La persona que llama decide cómo llamar mediante la cadena de nombre. Si la persona que llama entiende el atributo de "longitud" del nombre, entonces la descripción del nombre del atributo correspondiente debe ser suficientemente precisa. La función de nombre "length()" implementa la función de suma de enteros a la perfección.

5.

Utilice idispatch como primer ministro para llamar al atributo IDispatch::GetIDsOfNames() y al nombre de la función como parámetros para obtener los ID de atributos y funciones.

6.

Luego llame a IDispatch::Invoke() con el id como parámetro para llamar realmente a la función.

7.

Si se obtiene el valor de la propiedad, se llama a Invoke() para pasar el indicador Dispatch_PropertyGet.

8.

Si se establece el valor de la propiedad, Invoke() llamará al indicador entrante Dispatch_PropertyPut y

el parámetro disparams especifica cómo modificar la propiedad. Consulte para obtener una descripción de la estructura del programa de visualización.

9.

Si se llama a la función, pase la llamada Invoke()

Si el método requiere parámetros, idispatch envía el indicador Dispatch_Method: :invocar () Parámetros especificados.

Modificar el contenido de la matriz de entrada

1.

La sección 5 presenta cómo JS pasa los parámetros de la matriz a COM y cómo COM obtiene los parámetros. Esta sección describe cómo COM modifica la matriz pasada por JS.

2.

Para modificar el valor de la matriz JS, primero obtenga el dispid y obtenga el elemento de número de serie especificado a través de GetIDsOfNames; llame a Invoke() y pase el indicador Dispatch_PropertyPut para indicar el operación de escritura, y la estructura de despachos indica el valor del elemento del tipo de elemento.