Skip to content

VBMAN.PLI - 插件接口对象

概述

VBMAN.PLI 提供了与外部插件程序通信的功能,通过执行外部程序并传递参数来实现扩展功能。

核心特性

  • 插件执行: 调用外部插件程序
  • 参数传递: 支持 Base64 编码的参数传递
  • 超时控制: 可设置执行超时时间
  • 结果获取: 支持从文件获取返回结果

属性

属性类型说明
TimeOutLong执行超时时间(毫秒,默认 30 秒)

方法

Request

发送请求到插件

vb
Public Function Request(ParamArray Data() As Variant) As String

参数:

  • Data - 可变参数数组,参数会自动进行 Base64 编码

返回: 插件返回的结果字符串

说明:

  • 插件程序会按顺序查找: App.Path\VBMAN.PLIApp.Path\bin\VBMAN.PLIApp.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

插件规范

插件程序需要遵循以下规范:

  1. 可执行文件命名为 VBMAN.PLI
  2. 接收 Base64 编码的参数(用 | 分隔)
  3. 支持 VBMAN.PSC 作为脚本文件参数
  4. 可通过输出或 VBMAN.DAT 文件返回结果

注意事项

  • 插件程序必须存在于指定搜索路径中
  • 参数会自动进行 Base64 编码
  • 超时后会强制终止插件进程

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