Quando si usa 4D View Pro (soprattutto in modalità offscreen) con documenti complessi, il calcolo di tutte le formule può richiedere molto tempo e può essere difficile sapere quando è finalmente terminato (ed è importante aspettare prima di chiamare comandi come esportazione o stampa).
Come soluzione, abbiamo introdotto due nuovi eventi. Uno di questi viene richiamato per ogni singolo calcolo/formula e può essere utilizzato per attivare un timer. Se il tempo scade senza che sia stata terminata un’altra formula, si può ritenere che l’intero documento sia terminato.
Caricamento finale di HDI 4DVP
Il primo evento è On VP Range Changed. Questo evento viene lanciato ogni volta che viene completato un calcolo. Poiché possono esserci più calcoli, il secondo evento è l’evento on Timer. Questo evento consente di attendere il completamento del calcolo successivo. Se un evento On VP Range Changed viene lanciato prima della fine del timer, lo riavvia, altrimenti è finito.
Ad esempio, se si vuole caricare un documento di grandi dimensioni, attendere la fine di tutti i calcoli ed esportarlo, è necessario creare questo tipo di 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:=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
// The time must be defined according to the computer configuration.
SET TIMER (60)
: (FORM Event.code=On VP Range Changed)
// End of calculation detected. Restart the timer
If (This.isWaiting
)
SET TIMER (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; This.pdfPath; New object("formula"; Formula(ACCEPT))
: (FORM Event.code=On URL Loading Error) xml-ph-00 CANCEL
End case
Scaricate l’HDI qui sopra per vedere come utilizzare questi eventi per esportare un file 4D View Pro di grandi dimensioni in formato PDF!
E date un’occhiata al doc center per ulteriori dettagli!