我在客户端为何无法调用服务端的方法?

解决方案 »

  1.   

    tclientdataset.appserver.method()如果我没有记错的话。看书。
      

  2.   

    不对,好像是dcomconnection.appserver.methodname()。看看tdcomconnection的帮助。
      

  3.   

    谢谢,idilent!在 DataModule4.DCOMConnection1.GetServer.后没有需要的methodname()。??
      

  4.   

    好像不是getServer吧,没有appserver这个属性吗?我看看。
      

  5.   

    就是appserver.methodname();methodname是你在server上定义的方法的名称。
      

  6.   

    DCOMConnection1.AppServer.后也没有需要的methodname()。??
    我在服务端放在protected和public下都试过,都没出现我定义的
      

  7.   

    先Uses你的服务端的??_TLB,
    然后声明(如果接口类为:IClient)
    var  
      a: IClientDisp;
      //或
      b: IClient;
    begin
      a:= IClientDisp(IDispatch(DataModule4.DCOMConnection1.AppServer))
      a.method();
      //或
      b:= CoClient.CreateRemote('服务器名称');
      b.method();
    end;
      

  8.   

    不会出向你在server断写的函数的名称的,需要你手工写上去,也不用uses server因为这样的话,如果server和client不在一个机器上就不行了。明白了吗?在服务器端写方法(这个方法要让客户端使用),一定要使用class type libary 写,这样可以省去很多麻烦。我觉得你最好找一本参考书。