具体的代码列出来瞧瞧
☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
     您想架设WEB服务器吗?您想拥有自己的FTP站点吗?……拉专 
 线、服务器托管、虚拟主机等传统方式的昂贵费用、维护及功能受 
 限性可能已使您望而却步。 
    《88IP》动态IP/DNS系统横空出世,使您的问题迎刃而解!她 
 通过运行一个客户端软件,可使ISDN、ADSL、Cable Modem、小区 
 宽频网络等各种分配公网IP的internet接入线路全面升级,使其拥 
 有和专线相媲美的功能。使企业或个人可以轻松的在企业或家庭内 
 部架设WEB服务器,将网站、E-Mail、ftp、CS游戏等服务移植到自 
 己身边的计算机上,帮助您在e时代,随心所欲构建网上家园!对广 
 大系统集成商、软件开发商等IT同行而言,《88IP》系统所提供的 
 新颖服务更是蕴藏着无限商机!                     〖 www.88ip.com 〗       ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

解决方案 »

  1.   

    客户端用dconconnection和 clientdataset与服务端联系。
    在按钮里这样写procedure TFrmLogin.MIOLabel1Click(Sender: TObject);
    begin
       if ClientDataSet1.Active =True then
          ClientDataSet1.Close;//第二次运行时,运行到这后就跳到beforegetrecords事件里去了。
       ClientDataSet1.open;
    end;在clientdataset的beforegetrecords里写
    procedure TFrmLogin.ClientDataSet1BeforeGetRecords(Sender: TObject;
      var OwnerData: OleVariant);
    begin
       OwnerData:=VarArrayOf([Edit1.text,Edit2.text,'1']);//传递参数到服务端
    end;在按钮的click事件里,如果是第一次运行那都没事。但如何再执行click事件,
    当运行到clientdataset1.close时会转到beforegetrecords事件后再执行clientdataset1.open,
    执行完clientdataset1.open后再执行beforegetrecords事件。这样那beforegetrecords事件就多运行了一次。请问:1.在clientdataset1.close时为什么会执行beforegetrecords事件呢?
    2.如果不是在beforegetrecords事件里传参数,那应该在哪里传问递传参呢?参呢?
      

  2.   

    你第一次点击的时候就将数据集关闭了,再次激活前
    他肯定会跳到BeforeGetRecords中的