1、用技巧实现。例如:利用 TComponent.Tag 属性来存储你的数据结构指针(别忘了要给指针分配、释放内存);
2、利用 TComponent.FindComponent 方法;
3、举手可得的方法好像没有。

解决方案 »

  1.   

    补充一下:
    3.用Variant数组
    如:
    Var
      V:Variant;
      iIndex: Integer;
    begin
      V := VarArrayOf([0, DataSet.Fields.Count - 1], varVariant);
      for iIndex := 0 to DataSet.Fields.Count do
        V[iIndex] := DataSet.Fields[iIndex].Value;
      //需要的话,添加一条一样的记录
      DataSet.Insert;
      for iIndex := 0 to DataSet.Fields.Count do
        DataSet.Fields[iIndex].Value := Assign(V[iIndex]);
      DataSet.Post;end;
      

  2.   

    康:你好!
      1、能不能举一例子给我,我不太理解你的意思?
      2、你说的用findcomponent()是可经实现可是要受好多限制.它只能对从TComponent继承下来的类才能用.但是对直接从Tobject断承下来的就不行了(因为我想从一个表中指定组件名自动生成相应的组件,通过指定组件和类型来自动生成,其中还有一些自定义的组件)。
    河海:你好!
      你说的方法是可以实现谢谢你!你能不能帮我解决一下其它的问题呢?谢谢!
      

  3.   

    1.有的控件可以Addobject,如TStringList.AddObject()或其他的,可以用xx.Delete或xx.clear等来清除几乎所有的Object都可以被加入,如果只存储1,2,3,4...搞一些变量或Record或自定义Object不行吗?
    2.每一个Button都有一个Name(string Type)属性如果你不爱用FindComponent;-)可以遍历全部控件。
    3.没办法用N个:=