delphi2007 教程

delphi2007 教程

首页 新随笔 联系 聚合 管理
  1013 Posts :: 0 Stories :: 28 Comments :: 0 Trackbacks
控件绑定的问题 VCL组件开发及应用
http://www.delphi2007.net/DelphiVCL/html/delphi_20061223191633161.html
我动态创建了TCPServer,ADOonnection,一个socket对应一个数据库连接,想将TCPServer和ADOonnection绑定,  
  如下:  
   
  for   i   :=   0   to   5   do  
  begin  
      ADOConn[i]   :=   TADOConnection.Create(nil);  
      TCPserver[i]   :=   TTCPserver.Create(ADOConn[i]);  
    TCPserver[i].BlockMode   :=   bmThreadBlocking;  
  .......TCPserver和ADOConnection的初始化信息.....  
  end;  
   
  在TcpServerAccept(Sender:   TObject;  
      ClientSocket:   TCustomIpClient);事件中写如下:  
   
  var   ADOCon   :   TADOConnection;  
  begin  
      ADOCon   :=   TADOConnection(sender);  
        while   ClientSocket.ReceiveBuf(Datahead,sizeof(Datahead))>0   do  
          begin  
          ......处理接收到的数据....  
          end  
   
  我在while处理完后,第二次运行到while时,提示地址访问错误。  
   
  我想是我的ADOCon   :=   TADOConnection(sender);不对,但我不知道怎样才对。  
   
  大家帮忙指点一下  
 

我做了以下修正,就可以了:  
  创建部分:  
      ......  
            ADOConn[i]   :=   TADOConnection.Create(nil);  
            ADOConn[i].Tag   :=   i;  
             
            TCPserver[i]   :=   TTCPserver.Create(ADOConn[i]);  
            TCPserver[i].Tag   :=   i;  
    .......  
  接收部分:  
  .....  
          TCPs   :=   TCPserver(sender);  
          ADOC   :=   ADOConn[TCPs.tag];  
   
  OK了。  
  大家进来分分了。  
 

自己解决了  
  JF

关于控件动态邦定、有这方面的经验的各位发发言,我一会结贴。

posted on 2008-11-18 14:29 delphi2007 阅读(198) 评论(0)  编辑 收藏 引用
只有注册用户登录后才能发表评论。