我遇到了VB6似乎奇怪的怪癖。我正在将复选框传递给签名为MyMethod(ByRef object)
的方法,并将其称为myClass.MyMethod chkMyCheckbox
。但是,VB6拒绝传递复选框本身,而是将对1
的引用传递给我的方法。我猜这与VB6如何指定对象的默认属性有关。如何才能传递整个对象,而不仅仅是.Value
?我无法关闭默认属性,因为大量遗留代码在很大程度上依赖于它们。
如您所见,ChkCalFault
是一个复选框而不是整数,但正在评估并作为整数值传递。 (在此屏幕截图中0
。)
答案 0 :(得分:2)
我无法看到您尝试使用代码做什么,所以如果这是非基础,我会道歉,但会将您的方法签名修改为
MyMethod(ByRef MyCheckBox as CheckBox)
为你工作?如果没有,未记录的VarPtr将获得复选框对象的地址,但我不知道这是否指向正确的方向。