谢谢各位的帮助! to Tiger_Zhao: 现在我在服务器的用户组中,将用户“Everyone”添加到“Distributed COM Users”组中,该组的成员允许启动、激活和使用此计算机上的分布式 COM 对象。 客户端运行时错误由“远程调用出现70错误,拒绝的权限”变成了“运行时错误 '-2147467225 (800040277)' Automation 错误”,不知道是不是配置COM+组件的问题,还是我的dll问题?
做了个简单测试对象 创建个ActiveX DLL工程,名为project。在该工程下新建个类模块ClsTest,该模块下有一方法: Public Function getConn(ByVal cStrCon As String) As String getConn = cStrCon & " GetConn" End Function然后添加个新EXE工程,在该工程下调用: Dim CT As project.ClsTest Set CT = CreateObject("project.ClsTest") MsgBox CT.getConn(“fengxujian”), vbInformation然后发布安装到客户端,运行时出现“运行时错误 '-2147467225 (800040277)' Automation 错误”,在服务器运行则无报错,是不是客户端调用时出现了错误?
CreateObject 要指定服务器,第二个参数不能省略。
to Tiger_Zhao: Set CT = CreateObject("project.ClsTest",cServerName) cServerName可以是服务器IP或服务器名字,但情况还是一样的,服务器能运行,客户端则报错。不知道你以前遇到过类似的情况没?
一、在服务器的用户组中,看看是否有与 COM+ 相关的组,将客户端登陆的网络用户添加到该组中。
二、检查 COM+ 组件权限属性,是否有远程调用相关的选项。
三、确认 COM+ 服务已启动。
四、客户端指向的服务器是否正确。
http://topic.csdn.net/t/20060303/13/4590518.html
to Tiger_Zhao:
现在我在服务器的用户组中,将用户“Everyone”添加到“Distributed COM Users”组中,该组的成员允许启动、激活和使用此计算机上的分布式 COM 对象。
客户端运行时错误由“远程调用出现70错误,拒绝的权限”变成了“运行时错误 '-2147467225 (800040277)' Automation 错误”,不知道是不是配置COM+组件的问题,还是我的dll问题?
还有检查COM+对象引用的组件(ADO、XMLDOM)等是否在客户端安装。
还有作为参数传递的数据类本身是不应该设计为COM+对象,应该象ADO一样在服务端/客户端分别作为标准COM组件安装。
创建个ActiveX DLL工程,名为project。在该工程下新建个类模块ClsTest,该模块下有一方法:
Public Function getConn(ByVal cStrCon As String) As String
getConn = cStrCon & " GetConn"
End Function然后添加个新EXE工程,在该工程下调用:
Dim CT As project.ClsTest
Set CT = CreateObject("project.ClsTest")
MsgBox CT.getConn(“fengxujian”), vbInformation然后发布安装到客户端,运行时出现“运行时错误 '-2147467225 (800040277)' Automation 错误”,在服务器运行则无报错,是不是客户端调用时出现了错误?
Set CT = CreateObject("project.ClsTest",cServerName)
cServerName可以是服务器IP或服务器名字,但情况还是一样的,服务器能运行,客户端则报错。不知道你以前遇到过类似的情况没?
http://topic.csdn.net/t/20041117/17/3562446.html
http://topic.csdn.net/t/20040713/12/3170015.html
http://topic.csdn.net/t/20040905/17/3342083.html
我在win2000下测试成功了,win2003还不行
先不管它了,有交代就行。