掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
型変換して、参照型の引数をうまく渡す方法は? (ID:87405)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ご回答ありがとうございます。 私の方のタイトルのつけ方が適切でなかったかもしれないと反省しております、 すいません。 また、ソースの方も、省略しすぎていたみたいで、正確に伝わっていなくて 誠にすいません。再度、正確に書きますと、スレッドで、エラーがあったか どうかの判定につかう共有する変数を、グローバル変数として Dim Gbl_bThread_Err As Boolean を宣言してありまして、各スレッドで、エラーがあった場合に System.Threading.Interlocked.Exchange(Cobj(Gbl_bThread_Err ), True) として、このグローバル変数に、Trueを入れたいという処理をしています。 最初の抜粋したコードですと、bThread_Errとなっていてローカル変数と なっていましたので、誠にすいませんでした。 それで、ご指摘頂いたように、 Dim Gbl_bThread_Err As Objectとして System.Threading.Interlocked.Exchange(Gbl_bThread_Err, True) とすると、Trueが入って、問題がないのですが、Boolean型で事足りるので できたら、Object型でなくBoolean型でグローバル変数のほうを持てたら いいなと思い、Option Strict Onをはずすとうまくいくので、何か、記述を 変えれば、Option Strict Onを入れた状態でもうまくいくのかなと思い 試行錯誤しておりました。 System.Threading.Interlocked.Exchange(ByRef Object, Object) As Object なので、こういう場合には、共有する変数は、素直に、Objectで持っておいた ほうが賢明でしょうか(たとえ、True,Falseの二値しかつかわないとしても)
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.