请问怎样才能定义一个整个应用程序都能使用的全局变量,让它不论哪个单元都能使用,我很菜,希望高手们不吝指教

解决方案 »

  1.   

    在代码前段部分,PUBLIC代码段里第一变量就是全局的
      

  2.   

    但每个单元都有public的啊,我该定义在哪里?
      

  3.   

    定义在你要使用的那个单元中,其它单元通过这个单元名去得到它。
    比如你在form1中定义了一个全局的变量a,而要在form2中使用的话,就这样写:
    form1.a
      

  4.   

    此外还有一个方法,是定义真正全局变量。写法是在implementation上面定义变量。
    比如:
    var
      path:String;
    implementation这样定义的变量在任何Form中都可以使用,而且不需要加Form名
      

  5.   

    在from1中的public中定义
    Public
      mystr:string;引用,例如在from2
    uses unit1; //form1的单元文件名
    form1.mystr;='ss';
      

  6.   

    public
    .....
    cjhchina(坚持到底) 的方法是对的。见多了就好了。

      

  7.   

    在from1中的public中定义
    Public
      mystr:string;引用,例如在from2
    uses unit1; //form1的单元文件名
    form1.mystr;='ss';
    =========================================这样做岂不是破坏了类的封装性?
      

  8.   

    我的做法是:
    1、常量以及自定义数据结构放在一个单元里面,比如: DataType.pas
    2、所有的公用函数放在另外一个单元里面: Common.pas,然后,需要用到的地方引用就可以了。
    3、通用业务逻辑函数再放在一个Business.pas里面。
    ...
    同样,你的全局数据也可以放在DataType.pas里面去声明。
      

  9.   

    既然是所有单元都可能用到,建议lynmison(菻梓) 的方法
      

  10.   

    Kevin_Lmx(繁华阅尽) 的这个方法:
    ///////////////////////////////////////////////////////////////////////
    此外还有一个方法,是定义真正全局变量。写法是在implementation上面定义变量。
    比如:
    var
      path:String;
    implementation这样定义的变量在任何Form中都可以使用,而且不需要加Form名
    ////////////////////////////////////////////////////////////////////
    倒是很对,只是好象没有太多人响应,不知道有没有什么不好