在 VB 中,不知道 Public 和 Global 到底有何区别。在一个标准的模块中,分别 Public 和 Global 来声明的变量,它们会有何不同?

解决方案 »

  1.   

    Global 对象是应用程序对象,使用该对象,就可对应用程序级的属性和方法进行存取。public通常用来设置变量
      

  2.   

    Global 是 Object 数据类型的。因为 Global 对象是一个被自动引用的应用程序对象,所以不需要为引用该对象而编制特定的代码为了在一行中声明若干个常数,可以使用逗号将每个常数赋值分开。用这种方法声明常数时,如果使用了 Public 或 Private 关键字,则该关键字对该行中所有常数都有效。在给常量赋值的表达式中,不能使用变量,用户自定义的函数,或 Visual Basic 的内部函数(如 Chr)。一般声明的格式[Public | Private] Const constname [As type] = expression
      

  3.   

    Global 对象是整个应用程序对象,是全局变量
    public通常用来设置变量,是公共变量
      

  4.   

    如果你想定义一个全局变量 建议使用Global (在类模块和窗口里不能定义 只能在一般模块里使用)如果在一个 类或窗口里定义一个公共属性,也就是别的模块可以访问的数据 使用public,
      

  5.   

    各位好像还是没有说出 Public 与 Global 具体有何区别。Public 也可以用来声明全局的 Object 变量。这么说吧,在一个标准模块中:Public gsName as String  与  Global gsName as String 有何区别?
    Public Const NameValue = "ABC"  与  Global Const NameValue = "ABC" 有何区别?
    Public oCn As ADODB.Connection  与  Global oCn As ADODB.Connection 有何区别?
      

  6.   

    pubic 的作用域是全局,Grobal的作用域是当前对象(比如一个窗体或一个自定义类对象).
      

  7.   

    我也与楼主有同感。这样吧,请高手举出一个 用Grobal能做到  而 Public却做不到的事,不就明白他们之间的区别了?