4D View Pro: Ende des Dokumentladens

Wenn Sie 4D View Pro (insbesondere im Offscreen-Modus) mit komplexen Dokumenten verwenden, kann die Berechnung aller Formeln eine Weile dauern und es kann schwierig sein, zu wissen, wann sie endlich abgeschlossen ist (und es ist wichtig, zu warten, bevor Sie Befehle wie Export oder Druck aufrufen).

Als Lösung haben wir zwei neue Ereignisse eingeführt. Eines davon wird für jede einzelne Berechnung/Formel aufgerufen, was zum Auslösen eines Timers verwendet werden kann. Wenn die Zeit abläuft, ohne dass eine weitere Formel fertiggestellt wurde, können wir davon ausgehen, dass das gesamte Dokument fertiggestellt ist.

HDI 4DVP Ende Laden

Das erste Ereignis ist On VP Range Changed. Dieses Ereignis wird jedes Mal ausgelöst, wenn eine Berechnung abgeschlossen ist. Da es mehrere Berechnungen geben kann, ist das zweite Ereignis das Ereignis on Timer. Mit diesem Ereignis können Sie warten, bis die nächste Berechnung abgeschlossen ist. Wenn ein On VP Range Changed Ereignis vor dem Ende des Timers ausgelöst wird, starten Sie den Timer neu, andernfalls ist er beendet.

Wenn Sie zum Beispiel ein großes Dokument laden, auf das Ende aller Berechnungen warten und es exportieren möchten, müssen Sie diese Art von Klasse erstellen:

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

Laden Sie das obige HDI herunter, um zu sehen, wie Sie diese Ereignisse nutzen, um eine große 4D View Pro Datei im PDF-Format zu exportieren!

Weitere Details finden Sie im Doc Center!

Fabrice Mainguené
- Product Owner -Fabrice Mainguené gehört seit November 2016 zum 4D Program Team. Als Product Owner ist er verantwortlich für das Schreiben der User Stories und deren Umsetzung in funktionale Spezifikationen. Seine Aufgabe ist es auch, sicherzustellen, dass die gelieferte Funktionsimplementierung den Kundenanforderungen entspricht.Nach seinem Bachelor-Abschluss in Informatik am CNAM arbeitete Fabrice als Windev-Entwickler bei einem kleinen Software-Verlag. Danach arbeitete er für verschiedene Unternehmen in Industrie und Handel als Windev- und Webentwickler sowie als technischer Berater für neue Funktionen.