无法连接COM对象。

时间:2014-02-18 09:22:16

标签: vbscript

我在C ++上编写了一个COM库。 这个库中只有一个函数。

STDMETHODIMP TMyCodeBitmapGenerateImpl::GenerateMyFile(BSTR ATextToEncode,
   BSTR APathToSaveFile)

图书馆名称为 MyCode_COM_Library

图书馆已在系统中注册。

试图

DataString = "data123"
Filename = "D:\img.bmp"
with CreateObject("MyCode_COM_Library.TMyCodeBitmapGenerateImpl")
.GenerateMyFile(DataString,Filename)
end with

我收到错误需要对象

再试一次

dim ws
dim wd

Set ws = CreateObject("MyCode_COM_Library.TMyCodeBitmapGenerateImpl")
Set wd = ws.GenerateMyFile(datastring, FileName)

同样的错误。

在参考文献的VB中,我添加了这个库

Dim wd

Dim wa As MyCodeBitmapGenerate

datastring = "data123"
FileName = "D:\img123.bmp"

wd = wa.GenerateMyFile(datastring, FileName) ' the function returns int

之后,编译器选择

.GenerateMyFile

并提供错误预期功能或变量

请帮我连接VB和我的COM库。

谢谢。

1 个答案:

答案 0 :(得分:0)

如果我在参考文献中添加库并在VB中编写这样的代码而不是一切OK

Private Sub Command1_Click()

Dim azclib As AztecCodeBitmapGenerate

ds = "12343445454243442Data1234567890"
fp = "D:\imgDS.bmp"

Set azclib = New AztecCodeBitmapGenerate
azclib.GenerateAztecFile ds, fp

End Sub

但是,如果我试图在VBScript中编写此代码,如

Dim dt
Dim fp

Dim we, ws

dt = "123456789"
fp = "C:\imgDT.bmp"

Set we = CreateObject("AztecCode_COM_Library.TAztecCodeBitmapGenerateImpl")

Call we.GenerateAztecFile(dt, fp)

然后我有一个错误对象需要 - 调用we.GEnerateAztecFile(dt,fp)的800A01A8。 我认为对象“我们”并没有创建,但我不确定