Как я могу передать флажок по ссылке? - PullRequest
1 голос
/ 06 июля 2011

Я столкнулся с странной причудой с VB6.Я передаю флажок методу с подписью MyMethod(ByRef object) и называю его myClass.MyMethod chkMyCheckbox.VB6, однако, отказывается проходить сам флажок, а вместо этого передает ссылку на 1 моему методу.Я предполагаю, что это как-то связано с тем, как VB6 определяет свойства объекта по умолчанию.Как я могу получить весь объект, а не только .Value?Я не могу отключить свойства по умолчанию, так как большой объем устаревшего кода сильно зависит от них.

Typing discrepancy

Как видите, ChkCalFault - это флажок, а не целое число, но оценивается и передается как целочисленное значение.(Который на этом скриншоте 0.)

1 Ответ

2 голосов
/ 07 июля 2011

Я не вижу, что вы пытаетесь сделать с кодом, поэтому я прошу прощения, если это не по назначению, но сработает ли для вас изменение сигнатуры методов на

MyMethod(ByRef MyCheckBox as CheckBox)

?Если нет, то недокументированный VarPtr получит адрес вашего объекта-флажка, но я не знаю, указывает ли это также на правильное направление.

...