请问子form怎样修改它的父窗体(是一个控件)所在的form中的变量的值?
谢谢

解决方案 »

  1.   

    不行呀,请问语句怎么写呀?子form为form1,它的父窗体为contrl1,父窗体所在的form为form2,我在form1中想修改form2中的public变量varstr的值,这样写对嘛?self.parent.varstr := 0;可是不行呀。
      

  2.   

    再补充一下:不可以修改private或protect中声明的变量。
      

  3.   

    在form1的uses中加入form2,然后在form1的unit用form2.contrl1.varstr
      

  4.   

    你在form1里引用父窗体,然后可以用contrll.varstr:=ss;
      

  5.   

    是public中声明的变量,应该怎么写呀?
      

  6.   

    public也是一样的,在form1的uses中加入form2,然后在form1的unit用form2.contrl1.varstr
      

  7.   

    1。先在form1的接口部分uses form2的单元文件,然后再form2.varstr:=ss即可
    2.或者将form2的变量varstr不要声明在Tform类中,而将他在声口部分声明即可。
      

  8.   

    form1 为父窗口
    form2  为子窗口在form2中输入
      with form2 do 
       form2.contrll.varstr:=ss;
      

  9.   

    奇怪了,为什么你们都把变量连在那个控件的后面呢?我已经说过了,varstr是form2中声明的public 变量
      

  10.   

    这样:
    父:P
    子:C
    C中在上面usesP
    P中在下面usesC
    C中定义一个public的对象O,类型是P的类型在你需要的时候
    在p里写C.O:=P
    然后在C里写
    O.你想要的:=你想要的
      

  11.   

    不声明在TYPE中,那是不是声明在VAR中?可是这样就不能用form2.varstr了,这样编译通不过呀
      

  12.   

    在C中的type里声明一个Public的对象O