Components All New MacOS Windows Linux iOS
Examples Mac & Win Server Client Guides Statistic FMM Blog Deprecated Old

CURL.SetProgressScript

Sets the progress script.

Component Version macOS Windows Linux Server iOS SDK
CURL 5.2 ✅ Yes ✅ Yes ✅ Yes ❌ No ✅ Yes
MBS( "CURL.SetProgressScript"; curl; FileName; ScriptName )   More

Parameters

Parameter Description Example
curl The CURL session handle. $curl
FileName The database file name where the script is located. "test.fmp12"
ScriptName The script name. "MyScript"

Result

Returns OK or error.

Description

Sets the progress script.
This script is called for asynchronous transfers when percent value changed.
So you can update progress user interface.

Does not work on server due to missing capability to trigger scripts in the plugin SDK with FileMaker Server.

We trigger script/evaluate only if percent value changes. And we defer next invocation until you call CURL.GetProgressCurrentDownload, CURL.GetProgressCurrentUpload, CURL.GetProgressPercent, CURL.GetProgressTotalDownload, and CURL.GetProgressTotalUpload so script triggers don't queue up.


With plugin version 6.0 or newer the script name can be a script ID number. In that case the plugin queries the script name for the given script ID. This allows to call scripts by ID and avoid problems if scripts are later renamed.

Notice: FileMaker 19.2 adds a fmplugin extended privileges. If you have such an extended privileges to allow the plugin to trigger scripts, you need to grant permissions for it. If such a privilege is not defined, the plugin is allowed to trigger scripts. See FileMaker product documentation for details.

Examples

Start a curl session and setup a few scripts:

Set Variable [$curl; Value:MBS("CURL.New")]
Set Variable [$r; Value:MBS("CURL.SetFinishedScript"; $curl; Get(FileName); "DownloadFinished")]
Set Variable [$r; Value:MBS("CURL.SetProgressScript"; $curl; Get(FileName); "ProgressScript")]

See also

Release notes

  • Version 13.1
    • Fixed a problem with CURL.SetProgressScriptName causing a crash when transfer went too fast.
  • Version 12.2

Example Databases

Blog Entries

This function is free to use.

Created 12nd July 2015, last changed 15th February 2024


CURL.SetProgressEvaluate - CURL.SetSSLBackend