Client使用ClientDataSet。
Delphi 6  Windows xp调试时,本机运行正常,虚拟机(win98)下运行正常
在兄弟计算机上,Windows xp+Delphi 7+诺顿防火墙  同一子网,错误: RPC服务不可用
关闭防火墙,运行正常。另外一个兄弟,Windows XP+Delphi 7+天网 不同子网,错误:RPC服务不可用
关闭防火墙,依旧报错,错误不变。原因是什么?是不是只能在用一子网下才能使用?如果我想在不同子网下使用,有什么替代办法?

解决方案 »

  1.   

    “RPC服务不可用”这个错误是你根本没有和中间层连起来,MIDAS注册没有?
      

  2.   

    应是“RPC服务器不可用”,一可能是因为你在主机上MIDAS没有注册。二可能是诺顿防火墙拦截了Dcom数据。
    我用Delphi5开发了一套<车站票务系统>,Server/Client版的,Server运行在Win2000Server,Client端
    是使用ClientDataSet,运行在Win98上,一直运行很好,没什么问题。只是有时偶尔会出现
    “RPC服务器不可用”,但关闭服务器程序,从新运行又OK,这可能是核心系统内部偶尔故障所致。在Xp上
    运行Client程序也没问题。
      

  3.   

    我在XP+win2000server 上调试成功。
    先决条件,将midas.dll 拷贝一份在应用服务器的windows\system32\  (nt版本在system32,window9x在window\system\)
    如果你的客户端(XP)安装了delphi 在window\system32\ 已经有了。否则也要拷贝。
    1. 运行NT服务器上的dcomcnfg程序,进行DCOM配置。
      2. 进入DCOM的总体默认属性页面,将“在这台计算机上启用分布式COM”打上勾,将默认身份级别改为“无”。
      3. 进入DCOM的总体默认安全机制页面,确认默认访问权限和默认启动权限中的默认值无EveryOne,如果不去掉EveryOne,应用服务器不能正常启动。
      4.在常规页面中,双击你的应用服务器,打开你的应用服务器DCOM属性设置。
      5.将常规页面中的身份验证级别改为“无”。
      6.位置页面中选上“在这台计算机上运行应用程序”。
      7.将安全性页面设置中,均选择“使用自定义访问权限”,编辑每一个权限,将EveryOne加入用户 //忽略权限,正式使用时要考虑安全列表中。
      8.身份标识页面中,选择“交互式用户”。
      9.NT的GUEST用户不能禁用。
       *10.将客户端的网关设为应用服务器所在机器的IP祝你好运。
      

  4.   

    不是所有人都不可用,DCOM各种权限等等都已经设置好了。
    问题从其它机器上连接的时候,同一个网段的都能正常工作,不同网段的全是报那个错误。