with ADOQuery3 do
向14个组合框添加同一个表的同个字段的所有值。  
注:  该form中一共有16个组合框,combobox1~14是添加同一个表的同个字段的所有值。    另两个可不能加上述的值。    我是个菜鸟
错误信息  
Variable 'i' might not have been initialized
 FOR-Loop variable 'i' may be undefined after loop      begin
      try
         open;
        while not eof do
           begin
             for i := 0 to cyba1.componentcount-1 do
                    begin
                      if components[i].classtype = TCombobox then
                       begin
                       Tcombobox(Components[i]).Items.Add(FieldByName('caimin').AsString);
                       end;
                    end;
              next;
           end;
         first;      Tcombobox(Components[i]).text := Tcombobox(Components[i]).items[0];
     except
     end;
   end;
  end;

解决方案 »

  1.   

    Tcombobox(Components[i]).text := Tcombobox(Components[i]).items[0];
    中的i不能这样用
      

  2.   

    这是你想要的吗????
    procedure TForm1.Button1Click(Sender: TObject);
    var
      i:Integer;
      YourComponentIndex:Integer;
    begin
      try
        Table1.Open;
        Table1.first;
        while not Table1.eof do
        begin
          for i := 0 to Self.componentcount-1 do
          begin
            if components[i].classtype = TCombobox then
            begin
              Tcombobox(Components[i]).Items.Add(Table1.FieldByName('NAME').AsString);
              YourComponentIndex := i;
            end;
          end;
          Table1.next;
        end;
        //Table1.first;
        //Tcombobox(Components[i]).text := Tcombobox(Components[YourComponentIndex]).items[0];
      except
        Self.Caption := '哈哈,出错啦!!!';
      end;
    end;
      

  3.   

    去掉YourComponentIndex := i,他没用。