使用全局变量:)把user()定义成全局变量来处理

解决方案 »

  1.   

    在一个窗体中写了一个函数
    Public Sub GetUser(User() As stcUser)
      For i = LBound(User) To UBound(User)
        If Len(User(i)) > 0 Then CmbLogin.AddItem User(i).strUser
      Next
    End Sub
    ---------------------------------------------------------------
    把上面的代码放到模块中。问题可解决!
      

  2.   

    但是我想把user()传给这个窗体呀
      

  3.   

    在窗体中不能定义Public函数,你需要使用其他方法将user()传递到窗体中。
      

  4.   

    把代码改成
    Public Sub GetUser(User() As stcUser)
      For i = LBound(User) To UBound(User)
        If Len(User(i)) > 0 Then FrmLogin.CmbLogin.AddItem User(i).strUser
      Next
    End Sub
      

  5.   

    例如用属性,在窗体代码中加入以下代码:
    Property Set User(U As stcUser)End PropertyProperty Get User()End Property
    定义一个User属性,然后在外面调用Form的这个属性
      

  6.   

    To technofantasy(www.applevb.com) 
       在窗体中定义Public 函数正常情况下好象没什么问题。但是传递自定义类型好象真的不行。
      

  7.   

    仍旧在这行上有一样的编译错误
    Property Set User(Uuser() As stcUser)
      

  8.   

    To kevindude(kevin) 
    你说想把Uer()传递给窗体的控件?
    还是......
      

  9.   

    反正就是想把User()传给窗体,就当是窗体的一个属性吧
      

  10.   

    靠,白写了一大堆,居然没有出来?!CSDN编程问题?!
    2种办法:
    1。将数组改成定义为Variant,Public Sub GetUser(varUser as variant)
    2。如果用类来实现,则可将Type修改为User类,另外用Users集合来包含这些User类的实例。参见“类模块向导”!这种方法的接口最友好!
      

  11.   

    补充补充! 另外,如果对你有帮助,请回复我的一个帖子:
    http://www.csdn.net/expert/topic/654/654811.xml?temp=.8152735
    主题:  我自认VB水平不错,请大家给我估估价!
      

  12.   

    补充补充! 另外,如果对你有帮助,请回复我的一个帖子:
    http://www.csdn.net/expert/topic/654/654811.xml?temp=.8152735
    主题:  我自认VB水平不错,请大家给我估估价!
      

  13.   

    Agree dragoncity(自己发工资):
          呵呵。那就没法了。同意楼上的还是写个类吧。
      

  14.   

    或者照dragoncity(自己发工资) 的方法,改输入参数为Variant,应该也可以
      

  15.   

    可以直接把一个数组传递给一个variant变量吗?
      

  16.   

    <VB程序员指南>如是说:
         variant变量能够存储所有系统定义类型的数据。但没有说明可否存储字定义类型的数据。你的问题可否转化为:如何定义公共对象模块?
      

  17.   

    窗体中的函数
    Public Sub GetUser(User() As stcUser)
    改为
    Friend Sub GetUser(User() As stcUser)
      

  18.   

    to 自己发工资老兄,你说的我不是很懂,可否用代码示例一下
    to  gao43() 如何定义公共对象模块?什么是公共对象模块?
      

  19.   

    at form1:Friend Sub GetUser(User() As stcUser)
    Dim i As Integer
      For i = LBound(User) To UBound(User)
        MsgBox User(i).strUser
      Next
    End Subat form2:Private Sub Command1_Click()
    Dim User(2) As stcUser
        User(0).strUser = "1"
        User(1).strUser = "2"
        User(2).strUser = "3"
        
    Form1.GetUser User
    End Subpassed!
      

  20.   

    呵呵,我没有看到您的回复已经在测试了:(
    回复完才看见的 回复人: kevindude(kevin) (  ) 信誉:100  2002-04-18 15:18:00  得分:0  
     
     
      楼上电阻老兄的方法是性的通的,也比较简洁,散分! 
     
    Top 
     
     回复人: gump2000(阿甘) (  ) 信誉:97  2002-04-18 15:19:00  得分:0  
    一分钟,改写代码还来不及