当然在public中声明.
-----------------------------------------------
private:本单元局部变量(在本单元任意一处可用)
public:全局变量,其他单元都可用.
protected:其子类可用procedure xxxxx;
var
  xx:yy;//本过程可用
beginend;

解决方案 »

  1.   

    那个是全局变量吗?不是!!!!!!!
    全局变量应该是
    var
      Form1:TForm1
    那个地方定义的。Public只是窗体的变量而已。
    在实现部分也可以定义变量,不过只能在本单元内部使用而已。interface的可以被其他的单元使用。
      

  2.   

    而且在应用的单元的USES加上定义的单元
      

  3.   

    我请问楼上的那位,为什么当然是在Public中呢?
      

  4.   

    to Kingron(WinAPI) and minercxy(学勇) :
    不错,Public的确只是窗体的变量而已,如果彻底追究起来,Delphi并未对全局变量有个很好的声明
    ,Delphi中所有的窗体、单元都归为类,在其中定义的所有的所有都叫做这个类的属性或服务,甚
    至,Delphi把工程也成为一个类,那各位请说,全局变量在哪里定义呢?在工程以外吗?
    --------------------------------------------------------------------------------
    我认为zhyd(笨鸟)问的是如何定义一个变量,在各单元引用,所以有我上面的说法。
    --------------------------------------------------------------------------------
    还望各位指教!
      

  5.   

    我的理解,在一个unit的interface部分定义的变量就是全局的,只要引用该unit,就能使用其中的变量。
      

  6.   

    我有不同看法:
    全局变量:在单元的interface部分定义(类以外),并引用该单元。
    Public,Private,Protected是在类中才使用的。
    Public:整个类、子类、其实例(对象)都可以使用。
    Private:整个类可以使用。
    Protected:整个类、子类可以使用。
      

  7.   

    如果真的需要定义全局变量,最好是在一个单独的单元中定义,在这个单元的uses部分不要添加任何多余的单元,然后在需要使用这个变量的单元中引用这个单元。不建议在某个类的public中定义,因为如果这样,你可能要额外创建这个类的很多实例,会造成很大的资源浪费。