如果应用程序服务器由若干个端口,原则上讲,可以通过
1. IAppServer as AnotherInterface 
2. IAppServer.QueryInterface 
两种方法使用其它的接口,
使用DCOMConnection可以实现,
但如果IAppServer使用WebConnection获取,者无法完成,这是机制的原因还是需要一些特殊技巧?

解决方案 »

  1.   

    应该是可以的,不知道你是怎么做的不行,贴点CODE看看
      

  2.   

    这是MIDAS SOCKETCONNECTION和WEBCONNECTION用到的,
    从它可以看出通讯主要是提供IDispatch接口的
    GetIDsOfNames和Invoke方法,而没有针对IUnknown接口传递远程的查询接口。
    -------------------------------------------------------------
      TDataBlockInterpreter = class(TCustomDataBlockInterpreter)
        procedure DoGetIDsOfNames(const Data: IDataBlock);
        procedure DoInvoke(const Data: IDataBlock);
        procedure DoGetAppServerList(const Data: IDataBlock);
        procedure DoGetServerList(const Data: IDataBlock);  end;
      

  3.   

    在帮助里面,列出一种代替方案,使用 TSharedConnection。
    不过好象也只支持从IAppserver继承下来的接口。
      

  4.   

    to halfdream(哈欠) :
    谢谢,不过从帮助看,TSharedConnection应该只是DCOMconnection,SocketConnection,WebConnection的中介,也许的确是机制原因,
    如果是,那么写程序时只能使用单一接口了没办法经常上网,回复不及时,见谅