未找到数据成员和方法-机房问题4

    开始敲机房的时候,不知道Public OK As Boolean有什么用,于是就没有写它,想着如果需要它而没有它的时候就会出现错误,这样就会知道它是干什么的了。

    如今终于让我碰到它了!!

sub main里有这样的代码:

Sub Main()
    Dim fLogin As New frmLogin '实例化一个frmLogin登陆窗体
    
    fLogin.Show vbModal  '以模态窗体形式显示登陆窗体
    If Not fLogin.OK Then
        '登录失败退出app(计算机应用程序)
        End
    End If
    Unload fLogin   '卸载登陆窗体
    
    Set fMainform = New frmMain  '显示主窗体实例
    fMainform.Show
        
End Sub

运行到.OK的时候总是提示这样的错误:

于是上网查,有人说:

          fLogin是窗体,当然没有fLogin.OK的方法了,除非你自定义了此方法。

    做一个名称为FrmLogin的登陆窗体,设置用户名、密码等,窗体定义一个公共变量OK As Boolean,当用户名、密码正确时,变量OK=True,否则OK=False

    开始看的时候不理解。以为不是我想要的解决办法。于是跟同学对了对代码。同学从他那frmLogin窗体里找到了"Public OK As Boolean",而我这里没有。于是,在我的工程里试着添加了一下这句话。就可以了。再回过头来看,不觉惊讶这个答案就是为我准备的吗!?

    问题成功解决,就逆推一下,猜测一下原理吧:main函数里是把登陆窗体做为一个类来用了。每次登陆都是实例化这个登陆窗体。(现在还不明白为什么不直接用,而要用类,用类有什么好处,不过后边应该会明白的,暂且搁起来。)从而登陆窗体这个类里有的方法,成员在实例化的时候都可以用。

    而出错时,我的登陆窗体里没有OK这个成员,因此,也就不能调用,如图:

    添加OK之后:

    从这里,我又进一步了解了类在VB中的体现。

    随着问题一点一点地解决,信心也随着来了,兴趣也随着来了。一定要坚信自己遇到的问题,以前必定有人遇到过。嘿嘿,找找前人的经验。耐心点,必定能找到的。自己一步步解决问题的乐趣真的让人如痴如醉啊。机房,一旦开始,都不想停下来。

 

评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值