我在DELPHI中新建了一个工程,1 工程中有两个窗体,分别是form1(unit1),form2(unit2) ,2 我在unit1中的public下定义了一个公共变量S,然后form1上有一个按钮button13 form1.button1一按下去就弹出form2,并且在form2的OnActivate的事件中,弹出一个messagedlg,显示出公共变量S的值(程序目的是想试试公共变量的传递情况).但是,程序出了错,代码如下:unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public                    
    S:String;                //这里声明了一个公共变量s
    { Public declarations }
  end;var
  Form1: TForm1;implementationuses Unit2;{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
 form2.show
end;procedure TForm1.FormCreate(Sender: TObject);
beginend;end.
//--------------------------------------------------------------------------------------unit Unit2;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,unit1; //这里已经把unit1加入了type
  TForm2 = class(TForm)
    procedure FormActivate(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form2: TForm2;implementation{$R *.dfm}procedure TForm2.FormActivate(Sender: TObject);
begin
messagedlg(unit1.s,mtinformation,[mbOK],0); //这里想把s的值显示出来,就是这句出错
end;procedure TForm2.FormCreate(Sender: TObject);
beginend;end.