【问题标题】:How to call DLL function in vbscript [closed]如何在vbscript中调用DLL函数[关闭]
【发布时间】:2011-01-09 22:25:00
【问题描述】:

我正在编写 VB 脚本,我必须在其中调用 COM DLL 的函数。我要使用的函数在结构中,因此我想创建该结构的对象来访问所需的函数。

例如 我有一个 dll 'BasicCom.dll',其中

struct abc
{
    bool xyz();
} 

现在我想调用 xyz()。有谁知道如何在 Vb 脚本中处理这样的调用?

【问题讨论】:

  • COM dll是用什么语言写的,你确定是结构吗? COM 没有将结构视为可能具有方法的东西的机制。
  • 这看起来根本不像 COM 函数。不支持像这样在 C++ 程序中调用函数。
  • 我的 COM DLL 是用 C++ 编写的,其中声明了 C++ 结构和方法..

标签: com dll function vbscript


【解决方案1】:

您应该将其注册为 COM+ 组件(运行 REGSVR32 BasicCom.dll)并执行以下操作:

Set yourClass = CreateObject("BasicCom.Abc") ''// Should be ProjectName.ClassName
returnValue = yourClass.xyz()

【讨论】:

  • Regsvr32 仅注册 COM 组件。 COM+ 是不同的东西,它(除其他外)允许 COM 组件托管在另一个进程中。在这种情况下不需要 COM+。
【解决方案2】:

看看

VBScript CreateObject Function

CreateObject 函数创建一个 指定类型的对象。

语法

CreateObject(servername.typename[,location])  

【讨论】:

    【解决方案3】:

    汉斯的评论是正确的。这是一个纯 C++ 方法,而不是 COM 类的方法。您不能从 VBScript 调用它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-11
      • 1970-01-01
      相关资源
      最近更新 更多