2017-12-14 10 views
0

値を保持しません。 "WS006"とIsProductionはTrueと等しくなります。しかし、私がclsPropertiesにアクセスしようとすると、 IsProductionはFalseに等しいです。VB 6プロパティは、私はクラスモジュールと呼ばれるclsPropertiesでプロパティを作成し

If IsProduction Then 
     Debug.Print "Prod" 
    Else 
     Debug.Print "Dev" 
    End If 

助けてください!

+0

正確に最後のスニペットですか?そこにはクラス参照がありませんので混乱しています。また、別の 'New'を作成しないでください。 – Plutonix

+0

最後のスニペットは、IsProductionプロパティが存在するclsPropertiesクラスモジュールにあります。自分自身へのオブジェクト参照を作成しますか?それはあなたの言っていることですか? –

+0

古いVB6には、変数が変更されたときにブレークするようにデバッガを設定する機能がありました。値を変更する場所と場所を確認するために使用することができます。 – Plutonix

答えて

0

clsPropertiesモジュールを正しく設定しました。しかし、公開されているコードの残りの部分にはいくつかの問題があります(そのままではコンパイルされないので、実際のコードを切り貼りしていない)。修正点でのスタブは次のとおりです。

Private objProperties As New clsProperties 

objPropertiesAs.IsProduction = (Environ("computername") = "WS0006") 
Debug.Print Iif (objProperties.IsProduction, "Prod", "Dev") 

コードを簡潔にするためにいくつかのことを行いました。私のコードとあなたの間の唯一の実質的な違いは、Getを実行するときにIsProductionプロパティが関連付けられているオブジェクトを参照していないことだけです。私はそこに "Object Required"のエラーが出ていない理由を知りませんが、おそらくあなたのコードのどこかにOn Error Resume Nextがあります。

関連する問題