我写了一个以DCOM连接的三层数据库程序
1、如果我手动先启动应用服务器,然后
   再启动客户端的话,一切都很正常;
2、如果我直接启动客户端的话,客户端
   能够调用应用服务器,但是它们的界面
   却都消失了,只有在任务管理器中可以
   看到它们都被调入了内存;
3、如果我在不同的机子上运行客户端和应
   用服务器的话,那么无论我以什么样的
   顺序启动,都看不到它们的主界面,跟
   第2条的情形一样。
   问题太离谱了,我无从下手
(注:我在应用服务端加有TServersocket,
而在客户端加有TClientSocket组件用于特殊
的功能,除此之外,乃是一个标准简单的三层
结构,数据库用的是access)
   大侠们帮忙!!!

解决方案 »

  1.   

    正常,在dcomconfig中可以设置的。
      

  2.   

    点'开始',运行'DCOMCNFG',进行默认配置先,在配置你的服务端应用程序!重点是配置安全机制!这儿不多说了!可以参看小李的那本MIDAS的书!
      

  3.   

    你要是换了太机器运行的话,就要把DCOMConnection的Computername给改改了!
    要不然应用程序还是会去找你本来那太机器上的这个DCOM服务的!我也是DCOM的用户!
    要想自己的CLIENT在多太机器上运行,登陆的自己机器上的SERVER,必须配置好自己的DCOMCNFG!
      

  4.   

    各位大侠:
        谢谢你们的支持!但是我还是不是太清楚,
    比如DCOM服务我是配置好的,而ComputerName
    我直接是用IP地址。
        能否具体的把问题的解决方法告诉我?
      

  5.   

    看来我们现在遇到了较为相似的问题。客户端程序中是否含有delphi编写的控件,若有则需在客户端进行注册,然后运行即可。我现在遇到的问题是:客户端连接服务器时出现“Interface not support”的问题,知道如何解决吗?
      

  6.   

    》如果我直接启动客户端的话,客户端
       能够调用应用服务器,但是它们的界面
       却都消失了,
    呵呵,还说你的DCOM的配置没问题?应用程序服务器
    的运行权限应该为交互式用户。
    dcomcnfg>点击你的服务>身份标识>交互式用户
      

  7.   

    请问Delphi自带的组件怎么注册?
      

  8.   

    我来解释一下这种现象:
    假如当前服务器上登录的用户为A,客户端的用户为B,而
    DCOM的配置里的默认为启动用户,如果是B启动的话,这个
    服务器就以b的权限在服务器电脑上运行,而当前服务器电
    脑登录的用户却为A,因此用户A的街面上看不见应用程序服务器,
    在进程里能看见,但是却杀不死,无论A是不是管理员,不信大家
    可以试一试。
    交互式用户指得是启动服务器操作系统的A。
      

  9.   

    >>请问Delphi自带的组件怎么注册?
    是不是指SocketServer?
    开始-运行-install Scktsrvr
      

  10.   

    BoningSword(我爱的人名花有主,爱我的人惨不忍睹)但是
    1、如果我手动先启动应用服务器,然后
       再启动客户端的话,一切都很正常;
    这个现象又如何解释呢?