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

Vb6 如何通过引用传递复选框?,vb6,pass-by-reference,Vb6,Pass By Reference,我在VB6中遇到了一个奇怪的问题。我将复选框传递给签名为MyMethod(ByRef对象)的方法,并将其称为myClass.MyMethod chkMyCheckbox。但是,VB6拒绝传递复选框本身,而是将对1的引用传递给我的方法。我猜这与VB6如何指定对象的默认属性有关。如何获得要传递的整个对象,而不仅仅是.Value?我无法关闭默认属性,因为大量遗留代码严重依赖它们 正如您所看到的,ChkCalFault是一个复选框,不是一个整数,而是作为其整数值进行计算和传递。(这在这个屏幕截图中0)

我在VB6中遇到了一个奇怪的问题。我将复选框传递给签名为
MyMethod(ByRef对象)
的方法,并将其称为
myClass.MyMethod chkMyCheckbox
。但是,VB6拒绝传递复选框本身,而是将对
1
的引用传递给我的方法。我猜这与VB6如何指定对象的默认属性有关。如何获得要传递的整个对象,而不仅仅是
.Value
?我无法关闭默认属性,因为大量遗留代码严重依赖它们


正如您所看到的,
ChkCalFault
是一个复选框,不是一个整数,而是作为其整数值进行计算和传递。(这在这个屏幕截图中
0

我看不出你试图用代码做什么,所以我很抱歉,如果这是不正确的,但是修改你的方法签名

MyMethod(ByRef MyCheckBox as CheckBox)

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

这个答案可能指向了正确的方向。在这里,您没有将复选框作为对象传递,而是作为变量传递,因为您省略了“as”部分。尝试MyMethod(ByRef MyCheckBox作为对象)