Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19
VP Run offscreen area
|
VP Run offscreen area ( parâmetros ) -> Resultado | ||||||||
Parâmetro | Tipo | Descrição | ||||||
parâmetros | Objeto |
![]() |
Objeto contendo os atributos de área offscreen | |||||
Resultado | Mixed |
![]() |
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:
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)
Produto: 4D
Tema: Linguagem 4D View Pro
Número
905271
Criado por: 4D v18 R4
4D View Pro ( 4D v19)