调用远程接口问题:
我的远程模块有很多接口用Socket连接的
除了缺省接口我时用Socket.appServer.Method1调用的外其他的接口中的方法我是这样调用的
例如条用接口IBaseData中的方法MM;var
  FSuperRDM: ISuperRDM;
  FBaseData:IBaseData;
begin
  FSuperRDM := CoSuperRDM.Create;//客户端要先运行应用服务器程序才可以
  //FSuperRDM:=CoSuperRDM.CreateRemote('服务器名');//失败
  FSuperRDM.QueryInterface(IID_IBaseData, FBaseData);
  FBaseData.MM;
end;以上问题是:
1,在客户端如果没有运行过应用服务器端的程序,则失败
2,运行过应用服务器端的程序后,每次执行到
  FSuperRDM := CoSuperRDM.Create;
  客户端好像都要create一下应用服务器端的窗体,因为都要闪烁一下应用服务器端窗体
  如果是先运行应用服务器端的程序后,就不会闪烁一下应用服务器端窗体
3,如何解决呢?
谢谢

解决方案 »

  1.   

    感谢 wizardqi(男巫)
    我的服务器和客户端在不同的电脑上的
      

  2.   

    关于第二个问题要更改如下:
    2,运行过应用服务器端的程序后,每次执行到
      FSuperRDM := CoSuperRDM.Create;
      客户端好像都要create一下应用服务器端的窗体,因为都要闪烁一下应用服务器端窗体
      如果是先运行客户端的应用服务器端的程序后,就不会闪烁一下应用服务器端窗体
      

  3.   

    var
      FSuperRDM: ISuperRDM;
      FBaseData:IBaseData;
    begin
      FSuperRDM := CoSuperRDM.Create;//客户端要先运行应用服务器程序才可以
      //FSuperRDM:=CoSuperRDM.CreateRemote('服务器名');//失败
      FSuperRDM.QueryInterface(IID_IBaseData, FBaseData);
      FBaseData.MM;
    end;
    这样调用。sockconnection还起什么作用?