我知道这可能是一个更普遍的问题,但我看了我的代码100次,我不知道什么是错的。我设置了一个全局标志,以便它可以用于我的应用程序的不同形式。布尔值为什么还原为原始值?
Dim OverPopulated as Boolean
我有我第一次将它设置为FALSE的函数,它通过一些验证它被设置为TRUE后。
现在我做了一堆东西,通过不同的形式,价值保持正确的整个时间。基本上,我需要另一种形式这个值,所以当我检查
if OverPopulated = false then
MsgBox "You Can't do this and that"
exit sub
End if
然后突然之间它被设置为FALSE。我已经在应用程序中检查了OVERPOPULATED的每个实例,并为其设置了一个断点,以确保无处设置它为FALSE,除了在验证之前将其设置为FALSE。
我在我的应用程序中只有2种其他形式。有一个地方的国旗正在两次通过相同的声明运行(就像上面的那个)。第一次通过时,该值是正确的,然后再次通过并将该值设置为FALSE。
任何想法?如果这太模糊,请让我知道,我会尝试编辑它。
编辑:我删除了大量的代码,但这里是它的外观.....
Dim OverPopulated as Boolean
'模块化水平现在
Private Sub ValidatePopulation()
Dim admDate as date
OverPopulated = False
admDate = Format(Now(), "mm/dd/yyyy")
Select Case revPURP
Case 0, 1, 2
'Check make sure these fields
'some if statements, checking, validation
Case Else ' no need to do a
End Select
OverPopulated = True 'I MAKE SURE IT GETS HERE and is set to TRUE!!!
End sub
,在其他功能我用它像这样...
If OverPopulated = False Then
If optStat (0).Value = True Or optStat (1).Value = True Then
MsgBox "You are not able to do this”, vbCritical, "Incorrect review status...."
TabPop.Tab = 6
End If
Exit sub
Else
'Proceed with SAVE
End If
所以我有这个。而且我还有其他地方的发言。这个被击中两次。我第一次逐行浏览它,它是FALSE,然后第二次围绕这个值是TRUE。
VB6无论如何都有一个奇妙的功能,您可以在变量值更改时设置断点。这将很方便地找到它在何处/何时/为什么它涉嫌变回 – Plutonix
包含“OverPopluated”的代码是否太大而无法在此处发布? –
@MattCremeens让我试着告诉你这个... – BobSki