控件listbox,该怎么解决

控件listbox
控件listbox,该怎么解决控件listbox,该怎么解决unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls;

type
  TForm1 = class(TForm)
    cbb1: TComboBoxEx;
    lst1: TListBox;
    btn1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure btn1Click(Sender: TObject);
    procedure cbb1Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
uses Unit2 ;

procedure TForm1.FormCreate(Sender: TObject);
var
i:Integer ;
begin
     with DataModule2  do
   begin
      qry1.Close ;
      qry1.SQL.Clear;
      qry1.SQL.Add('select * from 信息表');
      qry1.Open;
   end;
   begin
      for i:=0to(DataModule2.qry1.FieldCount-1)do
      cbb1.Items.Add(DataModule2.qry1.Fields[i].FieldName);
   end;  

end;

procedure TForm1.btn1Click(Sender: TObject);
begin
 Close;
end;

procedure TForm1.cbb1Change(Sender: TObject);
begin
lst1.Items.Add(cbb1.Text);
cbb1.Items.Delete(cbb1.ItemIndex);
end;

end.
运行没问题点击cbb1下拉菜单时 提示见图,将cbb1.Items.Delete(cbb1.ItemIndex);删除后点击cbb1下拉列表框中内容在lst1中显示每个字段的两条,上图
------解决方案--------------------
 procedure TForm1.cbb1Change(Sender: TObject);
begin
lst1.Items.Add(cbb1.Text);
if cbb1.ItemIndex > -1 then
cbb1.Items.Delete(cbb1.ItemIndex);
end;

------解决方案--------------------
越界了,找出那个就行
------解决方案--------------------
delete用downto
------解决方案--------------------
越界。。虽然我不知道为什么。。
------解决方案--------------------
最简单的方法就是:
把你的下拉框由TComboboxEx改为普通的下拉框TCombobox就可以了,代码不用变
TComboboxEx的Items属性并不是一个TStrings类,而是TComboBoxExStrings类