form2为form1的子窗口,
想在form2中动态创建Combobox,
想在form2关闭后动态控件仍可用,
于是就在form1中定义TCombobox为全局
在form2中发现setlength()无法调用form1.combobox1
这个问题怎么解决?

解决方案 »

  1.   

    如果仅仅是隐藏Form2的话可以,但如果是关闭Form2应该不能做到。
    因为Form2释放的时候会把属于自己的组件全部释放掉。
      

  2.   

    你的动态控件做什么用?
    在Form2设置一个控件,在Form1里面也设置一个,与之一一对应就可以了。
      

  3.   

    你是不是想读取form1.combobox1里的东西嘛?
    你可以申明几个变量,先在form1里把你想要的form1.combobox1
    里的东西都赋给他们,再在form1的onclose里把那几个变量赋到form2里.
    我也没试过,不晓得行不?
      

  4.   

    我是想把Form2动态创建的几个ComboBox的信息给存起来,在关闭Form2然后再开启Form2的时候再把先前存入的信息给取出来……
    ComboBox[i].Name:='ComboBox'+IntToStr(i);
    我现在的做法是把ComboBox1的ItemIndex用一数组来存储,
    但问题是怎么去取那多个的ComboBox的ItemIndex???
     eg:
    for j:=0 to count-1 do //count是我动态增加的控件数目
    begin
      ..
      array[j]:=ComboBox??[j].ItemIndex;//ComboBox???
    end;
    ComboBox的Name属性怎么表示出来?
      

  5.   

    在Form1中写一个动态建立控件的方法,在Form2中调用。
      

  6.   

    array[j]:=ComboBox??[j].ItemIndex;//ComboBox???
    怎么表示?