4D View Pro: Fim do carregamento de documentos

Tradução automática de Deepl

Quando se usa 4D View Pro (especialmente em modo offscreen) com documentos complexos, o cálculo de todas as fórmulas pode demorar algum tempo e pode ser difícil saber quando está finalmente terminado (e é importante esperar antes de chamar comandos como exportação ou impressão).

Como solução, introduzimos dois novos eventos. Um dos quais é chamado para cada cálculo/fórmula, que poderia ser utilizado para accionar um temporizador. Se o tempo expirar sem que outra fórmula esteja terminada, podemos assumir que todo o documento está terminado.

Carregamento Final HDI 4DVP

O primeiro evento é On VP Range Changed. Este evento é lançado cada vez que um cálculo é completado. Uma vez que pode haver vários cálculos, o segundo evento é o evento on Timer. Este evento permite esperar até que o próximo cálculo esteja concluído. Se um evento On VP Range Changed for lançado antes do fim do temporizador, reinicie-o, caso contrário, está terminado.

Por exemplo, se quiser carregar um documento grande, esperar pelo fim de todos os cálculos, e exportá-lo, terá de criar este tipo de classe:

Class constructor($pdfPath: Text)
This .pdfPath:=$pdfPath
This .autoQuit:=False
This .isWaiting:=False

Function onEvent
Case of
: (FORM Event.code=On VP Ready)
// Document import
VP IMPORT DOCUMENT (This.area; $largeDocument4VP)
This .isWaiting // The time must be defined according to the computer configuration.:=True
// Start a timer to verify if all calculations are finished.
// If during this period the "On VP Range Changed" is thrown, the timer will be restarted
FORM Event
SET TIMER (60)

: ( If.code=On VP Range Changed)
// End of calculation detected. Restart the timer
(This.isWaiting
)
SET TIMER This (60)
End if

: (FORM Event.code=On Timer)
// To make sure not to restart the timer if you call other 4D View commands after this point
This .isWaiting:=False

// Stop the timer
SET TIMER (0) // Start the PDF export
VP EXPORT DOCUMENT ( This.area; .pdfPath; New object("fórmula"; Formula(ACCEPT)))

: (FORM Event.code=On URL Loading Error) xml-ph-00 CANCEL

End case

Descarregue o HDI acima para ver como utilizar estes eventos para exportar um grande ficheiro 4D View Pro em formato PDF!

E veja o centro doc para mais detalhes!

Fabrice Mainguené
- Proprietário do produto ->p>Fabrice Mainguené juntou-se à equipa do Programa 4D em Novembro, 2016. Como Proprietário do Produto, está encarregado de escrever as histórias dos utilizadores, traduzindo-as depois para especificações funcionais. O seu papel é também o de assegurar que a implementação da funcionalidade entregue vai ao encontro das necessidades do cliente.Após a obtenção da licenciatura em Informática no CNAM, Fabrice juntou-se a uma pequena empresa editora de software como programador Windev. Depois trabalhou para diferentes empresas nas áreas da indústria e comércio como programador Windev e web developer, bem como como consultor técnico sobre novas funcionalidades.