Para agregar funciones de eventos a un componente de secuencia de comandos:
Algunos entornos host también requieren que se genere una biblioteca de tipos que utilizan para enlazar eventos. Para obtener información, consulte Crear una biblioteca de tipos de Script Component.
Nota El controlador de comportamiento expone eventos de una forma algo distinta. Para obtener más información, consulte Exponer eventos personalizados en componentes de secuencia de comandos de comportamiento.
Debe declarar individualmente cada evento que desee activar.
Para declarar un evento
<public> <property name="sname"/> <method name="factorial"/> <event name="namechanged"/> <event name="querydone"/> </public>
La programación COM proporciona notificación de eventos a través de identificadores de envío (denominados dispId), que son valores enteros que identifican los eventos de un componente. El dispId se compila en la biblioteca de tipos del componente y la aplicación host lo utiliza para enlazar a eventos.
El proceso de creación de una biblioteca de tipos para componentes de secuencia de comandos genera automáticamente identificadores de envío para los eventos del componente de secuencia de comandos. Sin embargo, si lo prefiere, puede especificar identificadores de envío propios. Esto permite:
Para especificar un identificador de envío de un evento, incluya el atributo dispId en el elemento <event>, como se muestra en el ejemplo siguiente:
<public> <event name="namechanged" dispid="22"> </public>
Los identificadores de envío deben ser exclusivos dentro del componente de secuencia de comandos. Puede especificar un valor negativo para un identificador a fin de asignarlo a eventos convencionales, pero sólo debe utilizar intervalos especificados, como de -999 a -500, para controles. Para obtener información acerca de los intervalos reservados de identificadores, consulte la documentación de DISPID en la biblioteca MSDN.
Nota El número cero de identificador de envío se utiliza para identificar un método o propiedad predeterminados. Para obtener más información, consulte Exponer métodos y Exponer propiedades.
Puede activar un evento si llama al método fireEvent y especifica el nombre del evento que desea activar. No puede activar eventos que no haya expuesto en el elemento <implements>. Puede activar un evento en cualquier secuencia de comandos del archivo componente de secuencia de comandos. Por ejemplo, el ejemplo siguiente muestra cómo puede activar un evento cuando cambia un valor de propiedad.
<script language="VBScript"> <![CDATA[ Sub put_lowercaseName(newLCName) name = newLCName fireEvent("namechanged") End Sub ]]> </script>
Exponer eventos personalizados en componentes de secuencia de comandos de comportamiento | Exponer métodos | Exponer propiedades | Control de eventos de componentes de secuencia de comandos en la aplicación host | Contenido de los archivos de componentes de secuencia de comandos
Ayuda de Javascript y Vbscript para Javascripts.astalaweb.com. |