公司网络是对等网,无域控制器,在delphi6下创建了Activex下的COM Object和Transactional Object对象,在服务器的组件服务中配置好,设置默认的身份验证级是无,调用的身份验证级是无,模拟级是匿名,启用服务器上的guest用户,密码为空,然后添加角色加入用户EveryOne,并把默认的访问权限和默认的启动权限给予EveryOne,导出com组件的代理安装程序并安装到客户端,把com组件的类型库拷贝到客户端并注册,在客户端运行调用com+组件的接口方法,提示Interface not supported,如果在服务器上运行客户端程序则很正常或者客户端的用户名和密码于服务器端的相同也可正常调用。我是用CreateRemoteComObject(MachineName, CLASS_tdmTest)方法获取接口的。请各位高手救命啊!怎样才能在客户端匿名调用服务器上的com+接口???????????

解决方案 »

  1.   

    Interface not supported,一般这样的提示,因为重要的dll文件没有注册。以前我也做过三层,不过不是com,而是用midas,因为midas.dll没注册,也提示Interface not supported错误。
      

  2.   

    不可能是楼上说的错误,因为当客户端与服务器端的用户名和密码相同时就不会出任何错误,可以正常调用,说明客户端的文件是完整的并且该注册的肯定是注册了的,我马上把客户端的密码一改,就提示interface not supported.
      

  3.   

    嗯,是的。我把上面的问题解决了。但接着出现"绝拒访问"这又是为什么呢。我在服务器里也开了Guest帐号