unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;type
  TForm1 = class(TForm)
  private
    { Private declarations }
  public
    temp1:string;
  end;var
  Form1: TForm1;
  temp2:string;implementation{$R *.dfm}end.
变量temp1t和temp2的区别在哪里,它们的作用域分别是什么范围?

解决方案 »

  1.   

    temp2是全局变量,在整个程序中有效。
    temp1是TForm1中的公有变量,在TForm1的实例存在时有效。从专业的角度看,上面两种方式都不可取。
      

  2.   

    变量temp1t是限于在Tform1中访问
       form1.templt;
    temp2是全程变量可以给任何包含unit1单元的文件使用
      

  3.   

    temp2:string;只要你Uses这个单元的话就可以用。temp1:string;只要你Uses这个单元,并创建了TForm1实例就可以用
      

  4.   

    to:chechy(简简单单的活),
    这两种方式都不可取,请说说理由.
      

  5.   

    temp1 是 TForm1 的类的公有成员,只能通过 TForm1 的实例才能访问
    temp2 是全局变量,应用程序的所有部分都可以访问到它一个健壮的应用程序,应当尽可能少用全局变量
    一个健壮的类,应当尽可能少访问全局变量,而是通过它的属性、方法与外界交互作用建议你看看 Object Pascal 的书
      

  6.   

    尽量少用全局变量,多用参数传递
    某些地方实在要求效率就用几个全局变量
    类的public变量也要少用,自己学习学习delphi的源码!!!
      

  7.   

    private
    temp3:string;
    和 temp1的区别呢