cPLI 外部程序接口组件
简介
cPLI (Programmable Language Interface) 是一个外部程序调用接口组件,用于在 VB6 应用程序中调用外部可执行程序(如 Python、Node.js 等脚本),并通过标准输入输出进行数据交换。
工作原理
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ VB6 应用程序 │ ──▶ │ cPLI 组件 │ ──▶ │ 外部程序 (PLI) │
│ │ │ │ │ │
│ PLI.Request() │ │ Base64编码参数 │ │ VBMAN.PLI │
│ │ │ 执行命令 │ │ (Python/Exe) │
│ 获取返回结果 │ ◀── │ 返回结果 │ ◀── │ 处理数据 │
└─────────────────┘ └─────────────────┘ └─────────────────┘文件说明
| 文件 | 说明 |
|---|---|
VBMAN.PLI | 外部可执行程序(主程序) |
VBMAN.PSC | 脚本/配置文件 |
VBMAN.DAT | 数据交换文件(大返回值时使用) |
特性
- 参数传递: 使用 Base64 + UTF-8 编码传递参数
- 超时控制: 可设置命令执行超时时间
- 大返回值: 支持通过文件返回大量数据
- 自动搜索: 自动在多个路径查找 PLI 程序
快速开始
基础调用
vb
Dim PLI As New cPLI
Dim result As String
' 调用外部程序
result = PLI.Request("param1", "param2", "param3")
Debug.Print "返回结果: " & result设置超时
vb
Dim PLI As New cPLI
' 设置 60 秒超时(默认 30 秒)
PLI.TimeOut = 60 * 1000
Dim result As String
result = PLI.Request("data")处理 JSON 数据
vb
Dim PLI As New cPLI
' 发送 JSON 数据
Dim json As String
json = "{\"name\":\"张三\",\"age\":25}"
Dim result As String
result = PLI.Request(json)
' 解析返回的 JSON
Dim response As New cJson
response.Decode result
Debug.Print response.GetItem("status")文件路径搜索顺序
组件会按以下顺序搜索 VBMAN.PLI:
App.Path\VBMAN.PLIApp.Path\bin\VBMAN.PLIApp.Path\..\bin\VBMAN.PLI
如果找不到,会抛出 404 错误。
典型应用场景
| 场景 | 说明 |
|---|---|
| Python 脚本 | 调用 Python 进行数据处理、AI 推理 |
| Node.js 程序 | 调用 JavaScript 工具 |
| 命令行工具 | 调用系统命令行程序 |
| 数据处理 | 复杂计算、格式转换等 |
最后更新: 2026-05-17