私はVB6で奇妙に思われるものに遭遇しました。私は、MyMethod(ByRef object)
というシグネチャを持つメソッドにチェックボックスを渡して、それをmyClass.MyMethod chkMyCheckbox
と呼んでいます。 VB6は、しかし、チェックボックス自体を渡すことを拒否し、代わりに1
への参照を私のメソッドに渡します。 VB6でオブジェクトの既定のプロパティがどのように指定されているかと関係していると思います。 .Value
だけでなく、オブジェクト全体をどのように渡すことができますか?大量のレガシーコードは、それらに大きく依存するため、デフォルトプロパティを無効にすることはできません。あなたが見ることができるようにチェックボックスを参照するにはどうしたらいいですか?
、ChkCalFault
はチェックボックスではなく整数であるが、その整数値として評価して渡されています。 (このスクリーンショット0
にある。)私はあなたが私はこれがオフベースであれば謝罪コードでやろうとしてものを見ることはできませんが、
MyMethod(ByRef MyCheckBox as CheckBox)
にあなたのメソッドのシグネチャを変更するでしょう
この回答は正しい方向を示している可能性があります。ここではチェックボックスをオブジェクトとして渡すのではなく、 'As'部分を省略したためにバリアントとして渡します。 MyMethodを試してみよう(ByRef MyCheckBoxをオブジェクトとして) – Dabblernl