1)需要拷贝MIDAS.DLL到SYSTEM目录下,然后用regsvr32注册。
2)需要注册应用服务器,最简单的方法就是将应用服务器在客户端运行一下。

解决方案 »

  1.   

    我的客户端是有Midas.dll,因为客户端也装有delphi,况且我也不需要midas.dll,因为我没有用delphi的remote data module,我编写的是out process(.exe)DCom,客户端在倒入类型库的时候选择了“install..."也就是让delphi在导入类型库时候创建了它的组件。
    然后用下列方法连接:
     CarNotifyDCom := TCarNotifyDCom.Create(Self);
     CarNotifyDCom.RemoteMachineName := 'Hexen-Computer';
     CarNotifyDCom.ConnectKind := ckRemote;
     CarNotifyDCom.Connect;TCarNotifyDCom也就是在导入类型库的时候创建的组件。关于第二条要在客户端运行服务器,我觉得没有必要,如果是那样的话那分发客户端岂不是很麻烦?
      

  2.   

    试过你们的方法了,还是不行,我觉得问题出现在网络上,刚开始的时候老出现"RPC服务器无法使用",或者"拒绝访问",调试一下网络后又出现了"类没有注册",我的DCom上有两个automation object,把服务器软件在客户端运行注册后,打开DComcnfg,发现只有一个automation object 另一个这么也显示不出来,我不知道问题出现在那里????
      

  3.   

    DComcnfg配置Com组件,有启动权限和访问权限,客户端要调用win2000的DCom,win2000肯定要知道登陆的客户端的权限信息,可是我的win2000怎样才能知道当前有多少个客户端登陆并得到它们的权限信息呢?我用的是win2000 professional.
      

  4.   

    你应当把在服务器端注册好的组件导出,然后把导出的文件拷贝的客户端机器上,执行该组件包,就在客户端注册了。或者用OleCheck('''')函数也行,此函数可以省略你手动注册。
      

  5.   

    你用的是Windows 98吗??
    如果是的尝试将共享的网络设置设为
    用户级访问控制
    祝你好运!
      

  6.   

    客户端用的是win98,当把网络设置为用户级访问控制,安全列表来自win2000后
    出现‘服务器访问失败’,看来有出现新的问题了。把客户端换成win2000后,问题依旧。
      

  7.   

    在服务器端 客户端注册midas.dll  winnt/system32
    用应用服务器的用户名和密码登陆
      

  8.   

    问题果然出现在网络上,把客户端考到另外一台win98机器上又启动成功。
    可是网络有什么问题呢?除了网卡不一样外,网络配置一样的呀?
      在另外一台win98机器上运行dcom还有另外一个问题,客户端可以调用服务器
    的method,却无法使用dcom的回调事件(event),如果客户端在服务器端
    (win2000)上运行,又可以使用dcom的回调事件。在dcom服务器的initialize
    方法上打了一个断点,发现运行initialize整个过程没有问题,
    但是在退出initialize的时候编译器捕捉到一个异常EOleSysError,
    在initialize方法加上try...except...end块却没有捕捉到。