运用com+
我的客户端代码是
Private Sub Command1_Click()
Dim ox As Object
Set ox = CreateObject("Com_Test.ClsAdd", "192.168.1.70")
ox.x = Text2.Text
ox.y = Text3.Text
Text1.Text = ox.myAdd()
End Sub
服务器代码是
Option Explicit
   Public x, y As Integer
   Public Function myAdd() As Integer
     myAdd = x + y
   End Function
可是我在客户端运行时,出现拒绝权限的错误,等待中,谢谢。
如果有其他好的方法也行,com+好的例子,希望指导。

解决方案 »

  1.   

    客户端的当前用户是不是不能在服务器上登陆啊比如客户端的当前登陆用户是User001,服务器上也要相应有这个用户,密码要和客户端的一样
      

  2.   

    “拒绝权限”:可能的原因有很多,但如果你是第一次做COM+ 的程序,建议找一些 COM+ 方面的书看看。
      

  3.   

    转载:
    详细步骤!
    1、首先在VB中写一ActiveX(DLL)组件,工程名为COMTEST。编译后在另一程序中调用,确认组件工作正常。
    2、打开“控制面板/管理/组件服务”,在“COM+应用程序”下利用“COM+应用程序安装向导”创建一个空的COM+应用程序,名称为“COMTEST”。
    3、在“COMTEST”下,新建“组件”,在“组件安装向导”中,选择“安装新组件”(注意:不要使用“导入已被注册的组件”),然后将生成的dll及tlb都添加进来(两个文件都要!),完成。
    4、右击“COM+应用程序”上方的“我的电脑”,选择“属性”,然后在“属性”对话框中的“默认属性”页下,将“默认身份验证级”改为“无”,将“默认模拟级别”改为“匿名”,然后在“默认安全设置”页下的默认启动权限里添加"Everyone",确定。(这里是匿名关键之一)
    5、在本地用户管理里启用Guest用户!(这就是有人说权限里设置了Everyone仍然无法访问的原因)
    6、右击“COMTEST”,导出客户端的“应用代理”。注意:在导出对话框中,必须选择“应用程序代理”而不是“服务器应用程序”!并将导出的文件在客户机安装!
    7、好了!现在就可以在客户端进行调用了,点击运行后第一次运行在数秒弹出希望看到的运行结果,在激活服务器的准备状态以后的运行通常都在半秒内响应完成!(注:VB状态下加垃圾机器)后记:本不打算公开方法 ^_^ ,但为感谢龙卷风以前对我问题的热心解答,所以.... 呵呵呵呵..
    另附:有些时候程序不能运行不一定是程序的问题,尤其是与系统和网络相关的东西,多检查一下病毒、网络防火墙和系统权限一般都会有帮助的。 ^_^
      

  4.   

    推荐的 COM+ 对象使用应该是非驻留的,既每次调用都是独立的,你的代码中有 3 次调用:
    ox.x = ...
    ox.y = ...
    ... = ox.myAdd()
    应该更改为 ox.myAdd(x,y) 的方式,好的 COM+ 对象不应该有属性、内部不应该有模块变量