Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com

Página Inicial

 
4D v19
VP Run offscreen area

VP Run offscreen area 


 

VP Run offscreen area ( parâmetros ) -> Resultado 
Parâmetro Tipo   Descrição
parâmetros  Objeto in Objeto contendo os atributos de área offscreen
Resultado  Mixed in propriedade .result do objeto onEvent, ou Null se não retornar um valor

 

O comandoVP Run offscreen area cria uma área offscreen na memória que pode ser usada para processar os comandos e funções da área 4D View Pro. 

No objeto parametros, passe qualquer uma das propriedades opcionais abaixo. Estas propriedades estarão disponíveis através do comando This dentro do método onEvent e referencia a instância: 

 

Propriedade Tipo 
Descrição
area  text  O nome da área offscreen. Se omitido ou null, um nome genérico é atribuído (por exemplo, OffscreenArea1). 
onEvent  object (formula) Um método callback que será lançado quando a área offscreen estiver vazia. Pode ser:
  • uma função onEvent de uma classe ou
  • um objeto Formula
Normalmente o método callback é chamado nos eventos On VP Ready, On Load, On Unload, On End URL Loading, On URL Loading Error ou On VP Range Changed. . 

O método callback pode ser usado para acessar o objeto 4D View Pro. Veja Variável objeto formulário 4D View Pro.
autoQuit  boolean  True (valor normal) se o comando dever parar a execução da fórmula quando  os eventos On End URL Loading ou On URL Loading Error acontecerem.

Se false, deve usar os comandos CANCEL ou ACCEPT no método de callback onEvent
timeout  real  Tempo máximo (em segundos) antes que a área feche automaticamente se nenhum evento for gerado. Se estabelecido em 0, nenhum limite é aplicado. Valor padrão: 60 
result mixed Resultado do processamento (se houver)
<customProperty>  mixed  Qualquer atributo personalizado a estar disponível no método de callback onEvent

 

A propriedade abaixo é adicionada automaticamente pelo comando se necessário:

 

Propriedade 
Tipo 
Descrição
timeoutReached boolean  Adiciona com valor true se timeout tiver sido excedido

 

Nota: A área offscreen só está disponível durante a execução do comando VP Run offscreen area. Será automaticamente destruido quando a execução terminar.

Os comandos abaixo podem ser usados no método callback:

    ACCEPT
    CANCEL
    SET TIMER
    WA Evaluate JavaScript
    WA EXECUTE JAVASCRIPT FUNCTION

Se quiser cirar uma área 4D View Pro fora da tela obter o valor de uma célula:

 

  // Declaração da classe OffscreenArea
 Class constructor
 C_TEXT($1)
 This.filePath:=$1
 
  // Esta função se chamará em cada evento da área fora da tela
 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("A célula G23 contém o valor: "+String(This.result))
 End case

O método de retrochamada OffscreenArea:

 


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

Se quiser carregar um documento grande fora da tela, esperar a que todos os cálculos terminem de serem avaliados e exportados como um 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)
  // Importação do documento
       VP IMPORT DOCUMENT(This.area;$largeDocument4VP)
       This.isWaiting:=True
 
  // Inicie um temporizador para verificar se todos os cálculos terminarem.
  //  Se durante este periodo lançar "On VP Range Changed", o temporizador se reiniciará
  // O tempo deve ser definido segundo a configuração do ordenador.
       SET TIMER(60)
 
    :(FORM Event.code=On VP Range Changed)
  // Fim do cálculo detectado. Reiniciar o temporizador
       If(This.isWaiting)
          SET TIMER(60)
       End if
 
    :(FORM Event.code=On Timer)
  // Para ter certeza de não reiniciar o temporizador se chamar a outros comandos 4D View depois deste ponto
       This.isWaiting:=False
 
  // Deter  o temporizador
       SET TIMER(0)
 
  // Iniciar a exportação em PDF
       VP EXPORT DOCUMENT(This.area;This.pdfPath;New object("formula";Formula(ACCEPT)))
 
    :(FORM Event.code=On URL Loading Error)
       CANCEL
 End case

 

O método de retrochamada OffscreenArea

 

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





Ver também 

Blog post: End of document loading

 
PROPRIEDADES 

Produto: 4D
Tema: Linguagem 4D View Pro
Número 905271

 
CONTEÚDO DA PÁGINA 
 
HISTÓRIA 

Criado por: 4D v18 R4

 
ARTICLE USAGE

4D View Pro ( 4D v19)