在用dcomconnection做程序的时候发现,拿到别的机子无法运行,如何解决?
把服务器放到别的机子,发现无法连接,如何实现?
我是个新手,在做毕业设计的时候遇到了以上两个问题,请高手指点。如果有例程的,可以的话,发一份给我。谢谢各位!我的电邮是[email protected]

解决方案 »

  1.   

    凭记忆帮你解答一下,不知是否准确:
    1、看别的机子上是否也有同样的GUID的注册?
    2、你的ComputerName是否指定准确?
      

  2.   

    你这不是程序的问题,而是DCOM设置的问题
    2000下的配置:
    DCOM配置  如果在Windows NT环境下正常运行应用服务器,必须进行DCOM配置。配置方法如下:  1.运行NT服务器上的dcomcnfg程序,进行DCOM配置。  2.进入DCOM的总体默认属性页面,将“在这台计算机上启用分布式COM”打上勾,将默认
    身份级别改为“无”。  3.进入DCOM的总体默认安全机制页面,确认默认访问权限和默认启动权限中的默认值无EveryOne,
    如果不去掉EveryOne,应用服务器不能正常启动。  4.在常规页面中,双击你的应用服务器,打开你的应用服务器DCOM属性设置。  5.将常规页面中的身份验证级别改为“无”。  6.位置页面中选上“在这台计算机上运行应用程序”。  7.将安全性页面设置中,均选择“使用自定义访问权限”,编辑每一个权限,将EveryOne加入用
    户列表中。  8.身份标识页面中,选择“交互式用户”。  9.NT的GUEST用户不能禁用。
    注意:关键所在,在控制面板--用户和密码里administrators用户的属性--隶属于里添加power users,其它用户也这样做,guest用户绝对不可以禁用xp下配置
    xp下和上面的一样,不过不用做上面注意里面的东西,只须在dcom配置里对我的电脑属性里的默认com安全性页里默认访问权限和默认启动权限里都加入everyone就可以了
      

  3.   

    1.将开发该应用的机器中系统目录WINNT\system32(指WIN2000)下的Midas.dll 复制到你要运行应用的机器系统目录下,并用Delphi bin目录下的TRegSrv注册该dll。因为你的应用缺少必要dll,所以不能运行,除Midas.dll可能你还用了其他dll导致不能运行,最好用InstallSheilder for Delphi打包。
    2.在你的应用服务器中注册Midas.dll之后,运行应用服务器程序以注册。
    3.通过DCOMCNFG配置服务器组件。提醒,如果你想在公网中使用你的应用,最好不要使用DCOM
      

  4.   

    谢谢各位的回答,不过,因为我实在太菜了,所以很多地方还是不是很懂的,请勿见怪1.用InstallSheilder for Delphi打包是不是就会自动注册所要用的DLL?
    2.怎么进入DCOM的总体默认属性页面?
    3.能不能直接在程序里用代码实现?可以的话,能不能给我一个代码范例?
    再次谢谢各位大侠的支持
      

  5.   

    1.好像不会自动注册dll,在打包时你应该把需要的dll设置进去,具体怎么操作我也不太清楚,没用过这个东西。
    2.要进入dcom的总体默认属性页面,直接运行dcomcnfg就可以了。
    3.设置不能在代码里实现,必须手动设置。
      

  6.   

    1.是的,但如果你使用了自己开发的dll,那么就要手动加入到Installer中了,安装时即能注册。
    2.在开始的运行中键入DCOMCNFG即可,它是微软捆绑的一个接口程序。
    3.代码中可以,不过是VC的,我们不用它所以没转成Delphi的,你可以在网上找找看。
      

  7.   

    请参阅:http://expert.csdn.net/Expert/topic/2725/2725510.xml?temp=.9109308
    定会对你有所帮助,希望对你有所帮助。