我有一组控件是动态创建的也有相对应的name啊,但我在其它地方调用时会找不到这个控件呢?
        EditName:TEdit;这是在全局变量中定义完成了! 
    例:FormShow事件中写有
         EditName:=TEdit.Create(nil);
         EditName.Name:='EditName';
         在一个按钮中调用
         Editname.text:='28';
         这时会出错了,不知道为什么啊!
         如果是这样写的话,它就不会执行最后一句了!
         if FindComponent('Editname') <> nil then  
           Editname.text:='28';

解决方案 »

  1.   

    procedure TForm1.Button2Click(Sender: TObject);
    begin
       EditName:=TEdit.Create(self);
       EditName.Parent:=self;
       EditName.Name:='EditName';
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
     if FindComponent('Editname') <> nil then
      EditName.Text:=InttoStr(18);
    end;
      

  2.   

    if FindComponent('Editname') <> nil then //就是进nil啊!又不是下面一句出错啊!
      EditName.Text:=InttoStr(18);