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
- CURL.GetProgressCurrentDownload
- CURL.GetProgressCurrentUpload
- CURL.GetProgressPercent
- CURL.GetProgressScriptName
- CURL.GetProgressTotalDownload
- CURL.GetProgressTotalUpload
- CURL.New
- CURL.PerformAsync
- CURL.SetFinishedScript
Release notes
- Version 13.1
- Fixed a problem with CURL.SetProgressScriptName causing a crash when transfer went too fast.
- Version 12.2
- Improved CURL.SetProgressScript to not fire too often.
Example Databases
Blog Entries
This function is free to use.
Created 12nd July 2015, last changed 15th February 2024