同意yujie_du,将L在外部实例化如Sub Main中就Ok

解决方案 »

  1.   

    写一个类模块。在窗口a中有实例C .你还可以在窗口b中在创建一个实例啊?
    比如有一个类模块提供一是类(class)
    在窗口A中 set C= new class
    在窗口B中 set D=new class
    这样就好了啊。
      

  2.   

    呵呵,这些我也知道啊,但是我的意思是能不能在B中取得L的一个拷贝啊(L是在A中实例化的),还有一个问题,如何把数组作为函数的参数?
      

  3.   

    既然是copy,那你干吗直接引用呀?可以通过一个全局实例作为中间量来进行传递呀,这样才能将两个局部实例联系起来VB中的参数不能为数组,通常都是通过传递数组下标来实现的
    Private Sub TextBox_Change(Index As Integer)
    ...
    End Sub
      

  4.   

    我的目的是把类作为中间量来协调系统各参数在各个模块之间自由调用啊,如窗体A取得数据,在B和C中调用,在D中更改,且任何一个更改都涉及全局,即在C 和B中也跟着变化
      

  5.   

    儒子不可教也!
    任何一个更改都涉及全局不就是全局实例吗?前面不是都说了方法了吗?!
    回复人: yujie_du(斑马王子) (2001-8-16 9:48:08)  得0分 
    类的实例化不要在A或B窗体内部进行,要在他们的外部实例化。这是因为作用域的关系,明白了吧?  
    回复人: chjh(chjh) (2001-8-16 10:15:20)  得0分 
    同意yujie_du,将L在外部实例化如Sub Main中就Ok  
      

  6.   

    再A中把L定义成Public型(在头部定义),在B中就能取A.L的东西了。
      

  7.   

    关于问题2,有不同意见.
    Function A(arr as integer())
    kkk=arr(1)
    mmm=arr(2)
    ...
    end FunctionCALL:
    dim c as integer(100)
    A(c)
    问题是数组的长度需要用参数确定或使用函数(vb中应该有,类似于len)确定.
      

  8.   

    to yujie_du(斑马王子) 
        老兄,即使我是新手,即使我还刚毕业,是菜鸟,你也不用这么侮辱我!
      

  9.   

    你定义class的时候要用public,这样不管你在哪个form里实例化该class,在其他form里都可以用。如:
    public o as NewClass
    set o = new NewClass
    当然,最好把对class的定义放在模块里。
    数组可以作为参数,长度可以用Ubound和Lbound函数确定。
     
      

  10.   

    yujie_du(斑马王子),其实你是错的,你还是自己先回去啃书本吧(不信你可以试试)
      

  11.   

    呵呵,cqing()的解决方法不久是和我说的一样吗?你要是连public都没使用,还说明白了作用域?