We all know that in vb6, boolean values are True = -1 and false = 0.

But if you wrap a boolean value in a Val function, it always returns 0, whatever it's original value.

Val(-1) = -1.

Val(True) = 0.

That can't be right.

(Okay, you might ask why I'm wrapping a boolean in a Val function; it's a long story which I won't go into now as it's besides the point).