先回答2、3问题。
  2、调用Form1.Close只是窗口隐藏起来,并未从内存中卸下。
  3、调用组件的Free即可.

解决方案 »

  1.   

    1:
     a: array of array of integer;
     for i:=low(a) to hight(a) do
       for.....
    2:
     看情况,如果form1不是主窗体并且在form的OnCloseXXX中没有指定cafree动作,Only Hide,如果是主窗体,就会free掉。
    3:
    var
      sp:=tspeedbutton.create(self)
      ......
      sp.free;
    4:
      OnMouseDown or OnMouseUp:
        if (ssright in shift) and (ssleft in shift) then
      

  2.   

    1、
      var a:array[0..99,1..100] of integer;  Low(a),  High(a);  //取得第一维的下限、上限。
      Low(a[0]),  High(a[0]);  //取得第二维的下限、上限。4、
    procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      if  (ssleft in shift) and (ssright in shift)  then
       showmessage('both down');
    end;