procedure TForm1.ToolButton1Click(Sender: TObject);
var
  Tables: TStrings;
  TN: TTreeNode;
  i: integer;
begin
  try
    OpenDialog1.DefaultExt := 'mdb';
    OpenDialog1.Filter := '数据库文件 (*.mdb)|*.mdb|所有文件 (*.*)|*.*';
    if OpenDialog1.Execute then
    begin
      Edit19.Text := OpenDialog1.FileName;
      if Edit19.Text = '' then Exit;
      Tables := TStringList.Create;
      ADOConnection1.Close;
      ADOConnection1.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+Edit19.Text+';Persist Security Info=False;Jet OLEDB:Database Password='+Edit20.Text;
      try
        ADOConnection1.Open;
      except
         begin
           Showmessage ('数据库访问错误!');
           Edit20.SetFocus;
         end;
      end;
      TreeView1.Items.Clear;
      try
        TreeView2.Items.Clear;
      except
      end;
      ADOConnection1.GetTableNames(Tables);
    end;
    if OpenDialog1.FileName = '' then Exit;
    for i := 0 to Tables.Count - 1 do 
//=================================================================                     
//Variable 'Tables' might not have been initialized
//Variable 'TN' might not have been initialized
//为什么我最后释放了  还是提示以上错误!?????????????????
//===================================================================      TreeView1.Items.AddChild(TN, Tables.Strings[i]);    OpenDataBool := True;
    Tables.Free;
  except
    Tables.Free;
  end;
end;