procedure TDm.csh_StoredProcAfterScroll(DataSet: TDataSet);
var i:integer;
begin
    //清空edit和combobox
    for i := ComponentCount - 1 downto 0 do
      begin
          if (Components[I] is Tedit) then
           (Components[I] as Tedit).Text:='';
           if (Components[I] is Tcombobox) then
           (Components[I] as Tcombobox).Text:='';
        end;
end;系统提示我Tedit没有定义。

解决方案 »

  1.   

    我用D6试验了没问题呀
    是不是楼主忘放edit控件了
    如果是动态的:
    var
      edit: Tedit;
      

  2.   

    TDm是窗体类吗?
    你的那些tedit和Tcombobox控件是否放在tdm类里面?
      

  3.   

    把你这个过程放到窗体里。DM里没有Edit
      

  4.   

    如果楼主坚持这样做,你必须uses StdCtrls;
      

  5.   

    我的tedit和Tcombobox不是放在tDM这个窗体里,是放在另外一个窗体里的。
      

  6.   

    补充:你还必须把Edit所在窗口传过来。
    for i := YourForm.ComponentCount - 1 downto 0 do
          begin
              if (Components[I] is Tedit) then
               (Components[I] as Tedit).Text:='';
               if (Components[I] is Tcombobox) then
               (Components[I] as Tcombobox).Text:='';
            end;如果窗体中有其它容器类控件,处理还麻烦一点