大侠,帮忙啊。

wsd309 2005-01-05 08:41:26
运用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+好的例子,希望指导。
...全文
81 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiger_Zhao 2005-01-07
  • 打赏
  • 举报
回复
推荐的 COM+ 对象使用应该是非驻留的,既每次调用都是独立的,你的代码中有 3 次调用:
ox.x = ...
ox.y = ...
... = ox.myAdd()
应该更改为 ox.myAdd(x,y) 的方式,好的 COM+ 对象不应该有属性、内部不应该有模块变量
wsd309 2005-01-06
  • 打赏
  • 举报
回复
谢谢了,不过我的问题不想你们说的那样。知道那里有电子书下载啊。
uguess 2005-01-06
  • 打赏
  • 举报
回复


“不过我的问题不想你们说的那样”


那你是哪样啊?要想问,就要说明白!

lndlwwh830 2005-01-06
  • 打赏
  • 举报
回复
转载:
详细步骤!
1、首先在VB中写一ActiveX(DLL)组件,工程名为COMTEST。编译后在另一程序中调用,确认组件工作正常。
2、打开“控制面板/管理/组件服务”,在“COM+应用程序”下利用“COM+应用程序安装向导”创建一个空的COM+应用程序,名称为“COMTEST”。
3、在“COMTEST”下,新建“组件”,在“组件安装向导”中,选择“安装新组件”(注意:不要使用“导入已被注册的组件”),然后将生成的dll及tlb都添加进来(两个文件都要!),完成。
4、右击“COM+应用程序”上方的“我的电脑”,选择“属性”,然后在“属性”对话框中的“默认属性”页下,将“默认身份验证级”改为“无”,将“默认模拟级别”改为“匿名”,然后在“默认安全设置”页下的默认启动权限里添加"Everyone",确定。(这里是匿名关键之一)
5、在本地用户管理里启用Guest用户!(这就是有人说权限里设置了Everyone仍然无法访问的原因)
6、右击“COMTEST”,导出客户端的“应用代理”。注意:在导出对话框中,必须选择“应用程序代理”而不是“服务器应用程序”!并将导出的文件在客户机安装!
7、好了!现在就可以在客户端进行调用了,点击运行后第一次运行在数秒弹出希望看到的运行结果,在激活服务器的准备状态以后的运行通常都在半秒内响应完成!(注:VB状态下加垃圾机器)

后记:本不打算公开方法 ^_^ ,但为感谢龙卷风以前对我问题的热心解答,所以.... 呵呵呵呵..
另附:有些时候程序不能运行不一定是程序的问题,尤其是与系统和网络相关的东西,多检查一下病毒、网络防火墙和系统权限一般都会有帮助的。 ^_^
uguess 2005-01-05
  • 打赏
  • 举报
回复
“拒绝权限”:可能的原因有很多,但如果你是第一次做COM+ 的程序,建议找一些 COM+ 方面的书看看。
aiur2000 2005-01-05
  • 打赏
  • 举报
回复
帮你顶。
yiway 2005-01-05
  • 打赏
  • 举报
回复
客户端的当前用户是不是不能在服务器上登陆啊

比如客户端的当前登陆用户是User001,服务器上也要相应有这个用户,密码要和客户端的一样
wsd309 2005-01-05
  • 打赏
  • 举报
回复
up

863

社区成员

发帖
与我相关
我的任务
社区描述
VB COM/DCOM/COM+
c++ 技术论坛(原bbs)
社区管理员
  • COM/DCOM/COM+社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧