Skip to content

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

  1. App.Path\VBMAN.PLI
  2. App.Path\bin\VBMAN.PLI
  3. App.Path\..\bin\VBMAN.PLI

如果找不到,会抛出 404 错误。

典型应用场景

场景说明
Python 脚本调用 Python 进行数据处理、AI 推理
Node.js 程序调用 JavaScript 工具
命令行工具调用系统命令行程序
数据处理复杂计算、格式转换等

最后更新: 2026-05-17

VB6及其LOGO版权为微软公司所有