unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;type
  TForm1 = class(TForm)
  private
    { Private declarations }
  public
  string:s2
    { Public declarations }
  end;var
  Form1: TForm1;implementation
var  s1{$R *.dfm}end.
想问:类的public中定义的变量跟implementation上部定义的变量(form1)的区别;以及类private中定义的变量跟implementation下部定义的变量(s1)的区别;请详细解答,多谢!

解决方案 »

  1.   

    Public部分定义的变量为类的公有变量(在此为TForm1),在其他单元中需以form1.s2或unit1.form1.s2的方式来引用.而在implementation之前定义的变量则为单元的变量,可在其他单元中直接以s1或unit1.s1的方式来引用,
      

  2.   

    private 中定义的变量只能在本单元使用,别的单元不能用.
      

  3.   

    我的form1是在public下写的,form1应该是一个全局变量,你是不是说在其他单元中可以直接引用而s1是在implementation下写的,它不是全局变量,我问的是它跟private中定义的变量的区别;另外如果是全局变量,那么它在其它任何单元中都可以被引用吗?别的类的也可以?
      

  4.   

    在uses与type之间定义的变量是全局变量。
      

  5.   

    在uses与type之间定义的变量跟在implementation上定义的变量(比如本例的form1)是完全一样的吗?