Chain
Temporarily transfers control to an external program
Syntax
`
Declare Function Chain ( ByRef program As Const String ) As Integer
`
Usage
`
result = Chain( program )
`
Parameters
`program`
The file name (including file path) of the program (executable) to transfer control to.
Return Value
Returns the external program's exit code if executed successfully, or negative one (-1) otherwise.
Description
Transfers control over to an external program. When the program exits, execution resumes immediately after the call to `Chain`.
Example
`
#ifdef FB__LINUX
#define CHAIN2 "chain2"
#else
#define CHAIN2 "chain2.exe"
#endif
Print "chain1 begins"
Chain CHAIN2
Print "chain1 ends"
Sleep
`
Platform Differences

- Linux requires the `program` name case matches the real name of the file. Windows and DOS are case insensitive. The program chained may be case sensitive for its command line parameters.
- Path separators in Linux are forward slashes / . Windows uses backward slashes \ but it allows for forward slashes . DOS uses backward \ slashes.
- Exit code is limited to 8 bits in DOS.

Differences from QB

- None

See also

- `Exec` transfer temporarily, with arguments
- `Run` one-way transfer
- `Command` pick arguments