onchange的事件过程有参数Sender吧?它应该可以做这个用。

解决方案 »

  1.   

    to nononono(????) :
    sender是可以知道是那个控件的change,但如果是两个窗口,每个窗口各自创建了一个数组的实例来显示控件,这样的话怎么知道是要计算那个实例?
      

  2.   

    我不太明白了。
    sender可以知道是哪个控件,根据这个控件可以知道所在的窗口,根据这个窗口是否能知道这个数组?应该可以吧。(供参考)
      

  3.   

    应该不用名称了吧。
    窗体不同,访问的各自的也不同如:Form1.MyControls和Form2.MyControls是不同的
    type 
      TForm1=...  public
        MyControls:array of vRec;
    end;type 
      TForm2=...  public
        MyControls:array of vRec;
    end;而名称,你是用数组控件,分别出哪个控件,不就是用MyControls[i].WinControls
    Form1.MyControls[i].WinControls
    Form2.MyControls[i].WinControls
      

  4.   

    是这样的。
    我要将edPrice或edNumeric的onchange过程设置为自定义的过程
    procedure CalMoney(Sender: TObject);
    begin
      xxxxx; //edmoney.text:=edprice.text*ednumeric.text
    end;
    其中的xxxx应该怎样写?
      

  5.   

    如果你只要知道当前是哪个控件的话,这个问题简单!就是当你创建这个控件时,把它的Tag属性的值赋为当前数组的下标,这样当你判断时只要判断当前控件的tag就知道是第向个控件响就的了!
      

  6.   

    看来还是要用liuj0771() 或 quickp(philosopher) 的方法。