Compartir a través de


Crear un documento activo

Un documento activo de Visual FoxPro es una aplicación (.app) creada desde un proyecto de Visual FoxPro. Las versiones anteriores de Visual FoxPro ya permitían crear aplicaciones, por lo que es posible que esté familiarizado con el proceso. Para obtener más información acerca de cómo crear aplicaciones, vea Compilar una aplicación.

Puede ejecutar cualquier aplicación en Internet Explorer. Sin embargo, sólo las aplicaciones basadas en la clase de base ActiveDoc, descrita más adelante, admiten las propiedades, eventos y métodos que permiten la comunicación con el contenedor de documentos activos. Los documentos activos de Visual FoxPro se crean fácilmente.

La clase de base ActiveDoc

El "archivo principal" de un documento activo debe ser una clase basada en la clase de base ActiveDoc. Otros tipos de aplicaciones requieren que el archivo principal sea un programa o un formulario.

La clase de base ActiveDoc, que se crea con el Diseñador de clases, dispone de propiedades, eventos y métodos para un documento activo y proporciona la comunicación con el host de documentos activos. Por ejemplo, el evento ContainerRelease se produce cuando un contenedor libera un documento activo. Puede incluir código en este evento para cerrar archivos, completar transacciones y realizar otras tareas de limpieza antes de liberar el documento activo.

Para establecer como archivo principal una clase basada en la clase de base ActiveDoc

  1. Agregue al proyecto la biblioteca de clases visuales (.vcx) que contiene la clase basada en la clase de base ActiveDoc.
  2. Expanda la jerarquía de la biblioteca de clases visuales (.vcx); para ello, haga clic en el cuadro más (+) situado a la izquierda del nombre de la biblioteca o haga clic con el botón secundario del mouse en la biblioteca y elija Expandir todo en el menú contextual.
  3. Haga clic con el botón secundario del mouse en la clase ActiveDoc y elija Establecer principal en el menú contextual.

El objeto ActiveDoc

Cuando se abre un documento activo de Visual FoxPro en Internet Explorer, se crea un objeto ActiveDoc a partir de la clase de base ActiveDoc. Este objeto responde a los eventos y llamadas a métodos de la clase de base ActiveDoc.

Propiedades, eventos y métodos del objeto ActiveDoc

En las tablas siguientes se indican las propiedades, eventos y métodos que admite el objeto ActiveDoc.

Propiedades

BaseClass Caption Class
ClassLibrary Comment ContainerReleaseType
Name Parent ParentClass
Tag    

Eventos

CommandTargetExec CommandTargetQuery ContainerRelease
Destroy Error HideDoc
Init Run ShowDoc

Métodos

AddProperty ReadExpression ReadMethod
ResetToDefault SaveAsClass WriteExpression

Secuencias de eventos en los documentos activos

Cuando se abre una aplicación de documento activo en Internet Explorer, se ejecuta el documento activo y se produce el evento Init, seguido del evento ShowDoc. Cuando Internet Explorer aloja correctamente el documento activo, se produce el evento Run del mismo. En general, debe ver el código de programa del documento activo en este evento. Normalmente, el evento Run contiene código que ejecuta los menús, ejecuta el formulario principal de la aplicación y contiene READ EVENTS para iniciar el procesamiento de los eventos, como en una aplicación Visual FoxPro estándar.

Puede incluir código de configuración en el evento Init del documento activo, pero si el código tarda demasiado tiempo en ejecutarse, es posible que el contenedor del documento activo genere un error de tiempo de espera. Si incluye el código de configuración en el evento Init, no debe necesitar la interacción del usuario ni crear una interfaz de usuario.

El evento HideDoc ocurre al desplazarse desde un documento activo y el evento ShowDoc se produce al regresar al documento activo.

Si se cierra Internet Explorer mientras el documento activo está alojado, se producirá el evento HideDoc y, a continuación, el evento ContainerRelease. Este último evento también se produce si el documento activo queda fuera de la memoria caché de Internet Explorer 3.0.

Cuando se produce el evento ContainerRelease, el código de programa del evento puede realizar las siguientes acciones:

  • Cerrar archivos, limpiar su rastro y ejecutar QUIT para cerrar el documento activo.

  • Establecer la propiedad ContainerReleaseType en 0 (valor predeterminado), de este modo se abre el documento activo en el tiempo de ejecución de Visual FoxPro. El documento activo continuará ejecutándose en la ventana principal del tiempo de ejecución de Visual FoxPro.

    Nota   El evento CommandTargetExec se produce cuando Internet Explorer 4.0 va a cerrar el documento activo o a explorar desde el mismo. En estos casos, se establece el valor 37 en el parámetro nCommandID de CommandTargetExec y se puede establecer el valor False (.F.) en el parámetro eArgOut para evitar que Internet Explorer cierre el documento activo. Internet Explorer 3.0 no admite el evento CommandTargetExec.

Nuevas funciones de documentos activos

Existen dos nuevas funciones de Visual FoxPro, GETHOST( ) y ISHOSTED( ), que proporcionan información acerca del host de un documento activo. GETHOST( ) devuelve una referencia de objeto al host de un documento activo. ISHOSTED( ) devuelve un valor lógico que indica si un documento activo se encuentra en un host.

Vea también

Documentos activos | Formularios de documentos activos | Interoperabilidad e Internet | Compilar una aplicación | Menús en documentos activos | Ejecutar documentos activos |