FConnect 和 query都是在 一个封装的对象里面定义的        FConnect:=TSocketConnection.Create(mainform);
        FConnect.loginprompt:=false;
        FConnect.ServerName:='Server.GetData';
        FConnect.ServerGUID:='{1EBF8414-9C13-473C-B555-8823650F04EA}';
        FConnect.Address:='192.168.0.24';
        FConnect.Port:=211;
        Fconnect.SupportCallbacks:=true;
        Fconnect.Connected :=true;
                .
                .
                .                query:=TClientDataSet.Create(mainform);
                query.RemoteServer:=FConnect;
                query.ProviderName:='SyProvider1';
                query.ReadOnly:=false;
                query.AggregatesActive:=false;
                query.ObjectView:=true;
                query.AutoCalcFields:=true;
                query.Active:=false;                query.Active:=false;
                tempstr:='select * from table1';
                FConnect.AppServer.setsql(tempstr,'SYDS1'); //这一步可以 ,打开和SyProvider1相关联的服务器端的ADO纪录集合,这样可以返回到客户端的TClientDataSet
                query.Active:=true;   //有错,总打不开,向各位大虾求救(是不是再封装的对象内不能这么用)