Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com

Inicio

 
4D v19
VP Run offscreen area

VP Run offscreen area 


 

VP Run offscreen area ( parametros ) -> Resultado 
Parámetro Tipo   Descripción
parametros  Objeto in Objeto que contiene los atributos del área fuera de pantalla
Resultado  Mixed in Propiedad .result del objeto onEvent, o Null si no devuelve un valor

El comando VP Run offscreen area crea un área fuera de pantalla en la memoria que puede utilizarse para procesar los comandos y funciones del área 4D View Pro.

En el objeto parametros, pase una de las siguientes propiedades opcionales. Estas propiedades estarán disponibles a través del comando This en el método onEvent y hacen referencia a la instancia:

 

Propiedad 
Tipo 
Descripción
area  texto El nombre del área fuera de pantalla. Si se omite o es null, se asigna un nombre genérico (por ejemplo, OffscreenArea1).
onEvent  objeto (fórmula) Un método de retrollamada que se lanzará cuando el área fuera de pantalla esté lista. Puede ser:
  • una función onEvent de una clase, o
  • un objeto Formula
Por defecto, el método de retrollamada se llama en los eventos On VP Ready, On Load, On Unload, On End URL Loading, On URL Loading Error, On VP Range Changed o On Timer

El método de retrollamada se puede utilizar para acceder al objeto 4D View Pro. Ver Variable objeto de formulario de 4D View Pro.
autoQuit  booleano True (valor predeterminado) si el comando debe detener la ejecución de la fórmula cuando se producen los eventos On End URL Loading o On URL Loading Error.

Si es false, debe utilizar los comandos CANCEL o ACCEPT en el método de retrollamada onEvent
timeout  real  Tiempo máximo (expresado en segundos) antes de que el área se cierre automáticamente si no se genera ningún evento. Si se define en 0, no se aplica ninguna limitación.  
Valor predeterminado: 60
result mixto Resultado del proceso (si lo hay)
<customProperty>  mixto Todo atributo personalizado que esté disponible en el método de retrollamada onEvent
 
 
Si es necesario el comando agrega automáticamente la siguiente propiedad:

Propiedad 
Tipo 
Descripción
timeoutReached booleano Agregado con el valor true si se ha excedido el tiempo de espera

 Nota: el área fuera de pantalla solo está disponible durante la ejecución del comando VP Run offscreen area. Se destruirá automáticamente una vez que la ejecución haya finalizado.

En el método de retrollamada se pueden utilizar los siguientes comandos:

Desea crear un área 4D View Pro fuera de la pantalla y obtener el valor de una celda:

 

  // Declaración de la clase OffscreenArea
 Class constructor
 C_TEXT($1)
 This.filePath:=$1
 
  // Esta función se llamará en cada evento del área fuera de pantalla
 Function onEvent
 Case of
    :(FORM Event.code=On VP Ready)
       VP IMPORT DOCUMENT(This.area;This.filePath)
       This.result:=VP Get value(VP Cell(This.area;6;22))
 
       ALERT("La celda G23 contiene el valor: "+String(This.result))
 End case

El método de retrollamada OffscreenArea:

 


 $o:=cs.OffscreenArea.new()
 
 $result:=VP Run offscreen area($o)

Quiere cargar un documento grande fuera de la pantalla, esperar a que todos los cálculos terminen de evaluarse y exportarlo como un PDF:

  //OffscreenArea class declaration
 class constructor($pdfPath Text)
 This.pdfPath:=$pdfPath
 This.autoQuit:=False
 This.isWaiting:=False
 
 Function onEvent
 Case of
    :(FORM Event.code=On VP Ready)
  // Importación del documento
       VP IMPORT DOCUMENT(This.area;$largeDocument4VP)
       This.isWaiting:=True
 
  // Inicie un temporizador para verificar si todos los cálculos han terminado.
  //  Si durante este periodo se lanza "On VP Range Changed", el temporizador se reiniciará
  // El tiempo debe ser definido según la configuración del ordenador.
       SET TIMER(60)
 
    :(FORM Event.code=On VP Range Changed)
  // Fin del cálculo detectado. Reiniciar el temporizador
       If(This.isWaiting)
          SET TIMER(60)
       End if
 
    :(FORM Event.code=On Timer)
  // Para asegurarse de no reiniciar el temporizador si llama a otros comandos 4D View después de este punto
       This.isWaiting:=False
 
  // Detener el temporizador
       SET TIMER(0)
 
  // Iniciar la exportación en PDF
       VP EXPORT DOCUMENT(This.area;This.pdfPath;New object("formula";Formula(ACCEPT)))
 
    :(FORM Event.code=On URL Loading Error)
       CANCEL
 End case

 

El método de retrollamada OffscreenArea

 

 $o:=cs.OffscreenArea.new()
 
 $result:=VP Run offscreen area($o)





Ver también 

Blog post: End of document loading

 
PROPIEDADES 

Producto: 4D
Tema: Lenguaje 4D View Pro
Número 905271

 
CONTENIDO DE LA PÁGINA 
 
HISTORIA 

Creado por: 4D v18 R4

 
ARTICLE USAGE

4D View Pro ( 4D v19)