新建一个主窗体form1,分别引用form2,form3,form4,也就是在form1上加uses unit2,unit3,unit4;现在的问题是怎么在form1上定义一个数组如例 ArrFrm:Array[0..2] of TForm=(form2,form3,form4);现在就是执行错误?请各位仁兄,帮一帮!谢谢!

解决方案 »

  1.   

    [Error] Unit1.pas(23): Constant expression expected这样就可以了
    var
      ArrFrm:Array[0..2] of TForm;然后在程序中初始化: ArrFrm[0] := Form2;
     ArrFrm[1] := Form3;我在D7调试过了
      

  2.   

    谢谢   Kshape(伟大的大伟[Nicrosoft]//给我一个机会、我想做好人!) 我先试试
      

  3.   

    ----------------
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs,QControls,ExtCtrls,unit2;type
      TForm1 = class(TForm)
        Image1: TImage;
        procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
          Shift: TShiftState; X, Y: Integer);
      private
        { Private declarations }
      public
        { Public declarations }  end;var
      Form1: TForm1;
      ArrFrm:Array[0..1] of TForm;implementation{$R *.dfm}procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    var
     i: integer;
     P: TPoint;
     image: TImage;
    begin
      ArrFrm[0] := Form2;//这里,我只对第一个赋值了,其他的类似
      ArrFrm[1] := ...
      .......
    end;end.
      

  4.   

    To  Kshape(伟大的大伟[Nicrosoft]//给我一个机会、我想做好人!) 非常感谢你:你这个是个FormMouseDown,是否能保证ArrFrm安全了
      

  5.   

    现在的问题是怎么在form1上定义一个数组如例 ArrFrm:Array[0..2] of TForm=(form2,form3,form4);
    ********************************
    这个语句写的就有问题
      

  6.   

    To  web700(*FS*的小狗腿子) 哪里有错请指正,谢谢