解决接口不支持错误,给初学者一点帮助

许多初学者问这类问题,这里做个总结
=================================
    接口不支持错误,是Com Based组件在调试阶段经常发现的错误。在不同的操作系统中,这个错误表达有所不同,Interface not Suported,类没有注册,没有注册类别,指的都是同一种错误。
    Com Based组件是一种服务,它一般以.dll或.Ocx形式存在,也可能以.exe形式存在。.dll可以注册成本地服务(只能被本机调用),也可以注册成网络服务(被网络上的所有机器调用)。.ocx为带界面的服务,一般只能注册成本地服务。
    使用regsvr32 或tregsvr32 注册本地服务,使用Com+环境安装网络服务。
    .tlb(类型库)为.dll的接口声明文件,在异机调用Com+服务时,需要在调用方注册Com+服务的.tlb文件。
    .tlb只能通过tregsvr注册。
    一般情况,调用服务的接口,相当于调用一个过程,如果这个过程不存在,则出现这个错误。
    服务本身没有注册,服务类型库(.tlb)没有在客户注册,或,客户没有访问服务的权限,都可能出现这个错误。
    出现这个错误时,首先,重新注册dll(或重新安装Com+),看看注册时是否提示失败,如果失败,一般是依赖的资源没有拷贝到system32目录造成。
    第二,在本机调用,一般应该成功。
    第三,在异机注册.tlb。如果还是提示这个错误,一般可以肯定是无权访问的问题,进入下一步:
    第四,以服务器存在的用户名密码登录客户机器,如果访问成功,检查Com+环境,安全设置/调用的身份证级"从"包"改成"无",启用Guest用户,并修改服务器的默认用户名。这时,客户以任意用户(只要服务器不存在这个用户)登录,应该可以访问。

转载于:https://www.cnblogs.com/railgunman/archive/2010/11/25/1888261.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值