为什么老是说:ACTIVEX部件不能创建对象!

gdjacky 2001-08-04 12:09:44
当我在dcomcnfg上设置将rpdataserver.rpdatasql的位置设成local host时,并用语句CreateObject("Echoserver.Echo", 本机名字) 访问本机上的ACTIVEX.EXE时没有问题。但当我设成run application on the following computer:本机的IP地址 或服务器的IP地址 或者服务器名字或本机名字时,就会出现“ACTIVEX部件不能创建对象”的错误!

Private WithEvents MyEcho As EchoServer.Echo
Private Sub Command1_Click()
set MyEcho = CreateObject("Echoserver.Echo", 服务器名字)
end sub
...全文
11231 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
gdjacky 2001-08-17
  • 打赏
  • 举报
回复
我做了一个实验。我将server.exe(ActiveX.exe)和client(一般的.EXE文件)都在同一机子上运行,当我在dcomcnfg中将server.exe设置在“在这台计算机上运行应用程序”时,运行正常。但当设置"在下列计算机上运行应用程序",并将计算机名设为本机的名字后,运行client程序,就会立即出现“ACTIVEX部件不能创建对象”的错误。为什么同一台机子,设置不同就有不同的结果。各位高手,请帮帮忙吧!我已经想了快要一个月了,就差没疯掉!!!!
gdjacky 2001-08-09
  • 打赏
  • 举报
回复
to heyijpn(小何):我想问一下,测试的结果出来了没有?
gdjacky 2001-08-08
  • 打赏
  • 举报
回复
谢谢!我正盼望你的回应呢!
gdjacky 2001-08-08
  • 打赏
  • 举报
回复
to heyijpn(小何): 我已寄给你了,请收信
heyijpn 2001-08-08
  • 打赏
  • 举报
回复
我明天在单位的局域网上调试,
有结果马上告诉你
heyijpn 2001-08-08
  • 打赏
  • 举报
回复
我帮你调试一下吧
hychy@sina.com
gdjacky 2001-08-08
  • 打赏
  • 举报
回复
我在书上找到与我的现象类似的错误描述:
Error:ActiveX组件不能建立对象
* 如果程序没有反应,长时间等待后才显示此信息,则检查远程计算机,看看它的CPU利用率是否为100%(没错,我的机子就是100%)。这是安全性问题引起的,这时,远程对象不断试图写入注册表中,但与此远程对象相关的用户都没有对Windows注册表写入的权利。解决此问题的方法是更新与此远程对象相关的用户安全许可,或者用一个有相应权限的用户去运行。

以上是我在书上抄下来的内容,但没有给出具体的解决步骤,特别是后两句具体该如何去做?
gdjacky 2001-08-07
  • 打赏
  • 举报
回复
to heyijpn(小何):已经选了,要不我将其中的ACTIVEX。EXE和客户端的部分源代码寄给您。我实在是没招了.
gdjacky 2001-08-07
  • 打赏
  • 举报
回复
我的天啊!高手,help me!
heyijpn 2001-08-07
  • 打赏
  • 举报
回复
不用MTS
你不是要远程调用吗?
你的解决方向没有错,千万别打算用MTS+ACTIVEX。DLL,根本行不通。
我想起一个问题:
你的NT配置DCOM最重要的属性“Enable Distributed COM on This Computer”是否被选中!————>一定要选中它。

gdjacky 2001-08-07
  • 打赏
  • 举报
回复
to heyijpn(小何),对进程外服务器的概念我还是稍微有点了解,只是我的NT上没装MTS,我才问如何打开MTS,现在解决了MTS这个问题,但ACTIVEX。EXE还是解决不了,所以我打算用MTS+ACTIVEX。DLL来试试。你能有好的建议吗?
heyijpn 2001-08-07
  • 打赏
  • 举报
回复
你不了解DOCM中进程外服务器的概念。
gdjacky 2001-08-07
  • 打赏
  • 举报
回复
如何打开MTS?
gdjacky 2001-08-06
  • 打赏
  • 举报
回复
不会吧,我在两台机子上都是这样了,要不要我给出有关的具体代码?
lanren_me 2001-08-06
  • 打赏
  • 举报
回复
重装系统。
gdjacky 2001-08-06
  • 打赏
  • 举报
回复
第二点好象错了,书上介绍应该是 选择EchoServer.Echo->属性->位置->指定服务器名称(这个操作在客户机机器)
然后从客户机运行程序。
但当我运行程序时就会出错:ACTIVEX部件不能创建对象
目前,我只在一台机子上试,就是说,服务器和客户机是同一台机子,设置按上面的设置,结果不行。如果我改成“在本机运行”,就可以了.
gdjacky 2001-08-06
  • 打赏
  • 举报
回复
如果将位置该成指定的计算机的话(包括指回本机),就会出现“ACTIVEX部件不能创建对象”的错误!如果改为在本机上运行应用程序(在本机上注册有EchoServer.Echo),则可以,这是什么原因?
另外,用命令取消注册怎写,在注册中删除具体怎样做?
heyijpn 2001-08-06
  • 打赏
  • 举报
回复
1.注销 acitveX exe的组件, 运行
activeX exe /unregserver
这将从注册表中清除所有与该组件相关的条目。
2.运行DCOMCNFG
选择EchoServer.Echo->属性->位置->指定客户机机器名称(这个操作在服务器端)
然后从客户机运行程序。
heyijpn 2001-08-06
  • 打赏
  • 举报
回复
1.位置:在本机上运行应用程序
改成指定的计算机
2.删除dcomcnfg中的应用程序有两种方法:
1.用命令取消注册
2.在注册表中删除。
gdjacky 2001-08-06
  • 打赏
  • 举报
回复
echoserver.echo的身份验证级别:无,应用程序类型:本地服务器,位置:在本机上运行应用程序,安全性:使用默认的访问权限,标志:启动用户,终结点:面向连接TCP/IP
另外,在默认安全机制上:访问,启动,编辑权限全用everyone.
还有,怎样删除dcomcnfg中的应用程序。
加载更多回复(12)

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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