Skip to content

CHAIN


临时将控制权转移到外部程序

语法

declare function Chain ( byref program as const string ) as long

用法

result = Chain( program )

参数

program

要转移控制权的程序(可执行文件)的文件名(包含文件路径)。

返回值

若执行成功,返回外部程序的退出码;否则返回负一(-1)。

说明

将控制权转移到外部程序。当该程序退出后,执行流立即从 Chain 调用之后的位置恢复。

示例

vb
#ifdef __FB_LINUX__
    Dim As String program = "./program"
#else
    Dim As String program = "program.exe"
#endif

Print "Running " & program & "..."
If (Chain(program) <> 0) Then
    Print program & " not found!"
End If

平台差异

  • Linux 要求 program 名称大小写与文件实际名称匹配;Windows 和 DOS 不区分大小写。被调用的程序对其命令行参数可能区分大小写。
  • Linux 中路径分隔符为正斜杠 /;Windows 使用反斜杠 \,但也允许正斜杠;DOS 使用反斜杠 \。
  • DOS 中退出码限制为 8 位。

与 QB 的差异

  • Common 在使用 Chain 链接程序时不能保留特定变量的值。

另请参阅

  • Exec — 临时转移,可传参数
  • Run — 单向转移
  • Command — 获取参数

返回 目录

基于 FreeBASIC 官方文档翻译 如有侵权请联系我们删除
FreeBASIC 是开源项目,与微软公司无隶属关系