如何通过引用传递复选框?

时间:2011-07-06 15:56:20

标签: vb6 pass-by-reference

我遇到了VB6似乎奇怪的怪癖。我正在将复选框传递给签名为MyMethod(ByRef object)的方法,并将其称为myClass.MyMethod chkMyCheckbox。但是,VB6拒绝传递复选框本身,而是将对1的引用传递给我的方法。我猜这与VB6如何指定对象的默认属性有关。如何才能传递整个对象,而不仅仅是.Value?我无法关闭默认属性,因为大量遗留代码在很大程度上依赖于它们。

Typing discrepancy

如您所见,ChkCalFault是一个复选框而不是整数,但正在评估并作为整数值传递。 (在此屏幕截图中0。)

1 个答案:

答案 0 :(得分:2)

我无法看到您尝试使用代码做什么,所以如果这是非基础,我会道歉,但会将您的方法签名修改为

MyMethod(ByRef MyCheckBox as CheckBox)

为你工作?如果没有,未记录的VarPtr将获得复选框对象的地址,但我不知道这是否指向正确的方向。