VBMAN.PLI - 插件接口对象
概述
VBMAN.PLI 提供了与外部插件程序通信的功能,通过执行外部程序并传递参数来实现扩展功能。
核心特性
- 插件执行: 调用外部插件程序
- 参数传递: 支持 Base64 编码的参数传递
- 超时控制: 可设置执行超时时间
- 结果获取: 支持从文件获取返回结果
属性
| 属性 | 类型 | 说明 |
|---|---|---|
TimeOut | Long | 执行超时时间(毫秒,默认 30 秒) |
方法
Request
发送请求到插件
vb
Public Function Request(ParamArray Data() As Variant) As String参数:
Data- 可变参数数组,参数会自动进行 Base64 编码
返回: 插件返回的结果字符串
说明:
- 插件程序会按顺序查找:
App.Path\VBMAN.PLI、App.Path\bin\VBMAN.PLI、App.Path\..\bin\VBMAN.PLI - 参数通过 Base64 编码后用
|分隔传递 - 如果返回值为
VBMAN.DAT,则从VBMAN.DAT文件中读取实际结果
示例:
vb
' 发送简单请求
Dim result As String
result = VBMAN.PLI.Request("command", "param1", "param2")
' 处理结果
If result <> "" Then
Debug.Print "插件返回: " & result
End If综合示例
示例1: 基本使用
vb
Private Sub CallPlugin()
' 设置超时时间(可选,默认 30 秒)
VBMAN.PLI.TimeOut = 60000 ' 60 秒
' 调用插件
Dim result As String
result = VBMAN.PLI.Request("process", "data1", "data2")
If result <> "" Then
MsgBox "处理结果: " & result
Else
MsgBox "调用失败或无返回"
End If
End Sub示例2: 处理文件结果
vb
Private Sub CallPluginWithFileResult()
Dim result As String
result = VBMAN.PLI.Request("generate_report", "2024-01-01", "2024-12-31")
' 如果插件返回 VBMAN.DAT,表示结果在文件中
If result = "VBMAN.DAT" Then
Dim fileContent As String
fileContent = VBMAN.ToolsStream.LoadFileAsText(App.Path & "\VBMAN.DAT")
Debug.Print fileContent
End If
End Sub插件规范
插件程序需要遵循以下规范:
- 可执行文件命名为
VBMAN.PLI - 接收 Base64 编码的参数(用
|分隔) - 支持
VBMAN.PSC作为脚本文件参数 - 可通过输出或
VBMAN.DAT文件返回结果
注意事项
- 插件程序必须存在于指定搜索路径中
- 参数会自动进行 Base64 编码
- 超时后会强制终止插件进程