implementation
var
k:integer;
{$R *.dfm}

private
  { Private declarations }
  i:integer;
这两种声明有何不同?

解决方案 »

  1.   

    对类(如TForm)内部函数过程而言是一样的,对非类内部函数,k可以用,而i就不能用了
      

  2.   

    k 是全局变量,但只对本 unit 可见;i 是类的私有成员变量。处于同一 unit 的各个类可相互访问私有成员。套用 C++ 的说法就是:
      同一个 unit 中的各类互为友元。
      

  3.   

    Kevin_Lmx :k 是定义在 implementation 里,而不是 interface 里的。定义在 interface 里的才可在别的单元里使用。
      

  4.   

    我是楼主,我晕啊,大家的说法怎么样不一样啊?
    到底在PUBLIC,PRIVATE,implementation中定义的变量有何区别啊?
    楼上的谁说的对?
      

  5.   

    public, private, published 是对 class 而言的,
    而 interface, implementation, intialization, finalization 是对 unit 而言的。不要把这两类概念混为一谈。
      

  6.   

    public, private, published 是对 class 而言的,
    而 interface, implementation, intialization, finalization 是对 unit 而言的。不要把这两类概念混为一谈。
      

  7.   

    k 是全局变量,但只对本 unit 可见;i 是类的私有成员变量。处于同一 unit 的各个类可相互访问私有成员。套用 C++ 的说法就是:
      同一个 unit 中的各类互为友元。
    =================================
    TY