|
我试图通过打开CWDataServer.CWDataServer 这一ActiveX类的引用从Microsoft Visual Basic 来打开DataSocket服务器。通过这种方式我可以打开Microsoft Excel。但是在DataServer中使用同一函数是得到如下报告:
运行时错误429:ActiveX元件无法创建对象(Run-time Error 429
: ActiveX component can't create object )
我的代码如下:
Dim DS As CWDataServer.CWDataServer
Set DS = CreateObject("CWDataServer.CWDataServer")
该CreateObject函数不能用于DataServer,而应该使用New操作。您的代码应该类似于:
Dim DS As CWDataServer.CWDataServer
Set DS = New CWDataServer.CWDataServer
通常情况下,在Visual Basic中创建ActiveX 元件时,既可以使用AS也可以使用New。然而DataSocket 服务器是Vsiual C++对象,必须使用New操作。这是因为在创建进程ID号时使用Visual Basic和使用Visual C++方法之间有一定的区别。Visual C++中使用略微不同于Visual Basic对象的ProgID,因此不能识别CreateObject 的字符串参数。
关于该错误的更多细节,请参考 Microsoft support网站
|