Windows Script Components  

Exponer eventos

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.

Declarar eventos

Debe declarar individualmente cada evento que desee activar.

Para declarar un evento

  1. Cree un elemento <public> como secundario del elemento <component>.
  2. En el elemento <public>, incluya un elemento <event> para cada evento que desee declarar.
  3. Por ejemplo, el siguiente fragmento de componente de secuencia de comandos muestra cómo exponer dos eventos:
    <public>
       <property name="sname"/>
       <method name="factorial"/>
       <event name="namechanged"/>
       <event name="querydone"/>
    </public>

Especificar identificadores de envío

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.

Activar un evento

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>

Consulte también

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.