DOBON.NET DOBON.NETプログラミング掲示板過去ログ

データヒント表示内容について

環境/言語:[Windows7 VB.NET 2012]
分類:[.NET]

お疲れ様です。元々VB2005を使用していたのですが、今度VB2012を使う事になりました。
データヒントを結構使っていたので、簡単な事かと思いますが、表示内容について教えてください。
<<コード例>>
01:Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
02: Me.Text = "ABC"
03: With TextBox1
04: .Text = "HOGE"
05: If .Text = "HOGE" Then
06: MsgBox("YES")
07: Else
08: MsgBox("NO")
09: End If
10: End With
11:End Sub
このコードを実行すると、もちろん「YES」のメッセージボックスが表示されます。
5行目で一旦止めて、データヒントで4行目のTEXTを見ると「HOGE」が表示されますが、5行目のTEXTはMEのTEXT(ABC)が表示されます。
もちろんデータヒントの参照元に関して、4行目は「TextBox1.Text」となっておりますが、5行目は「Text」となっております。
VB2005では5行目もWith-EndWithで括っているので、当然「HOGE」が出ると思いましたが違っておりました。
これって仕様変更なのでしょうか??
何か戸惑う様な表示なので、気になりました。
以上、宜しくご教示のほどお願いいたします。
■No32445に返信(はりまっちさんの記事)
> 5行目で一旦止めて、データヒントで4行目のTEXTを見ると「HOGE」が表示されますが、5行目のTEXTはMEのTEXT(ABC)が表示されます。

手元の環境で確認してみました。

VB2005:
 データヒントは TextBox1.Text を参照。
 クイックヒントは、TextBox.Text か Form.Text か判別不能。

VB2008:
 データヒントは TextBox1.Text を参照。
 クイックヒントも TextBox.Text を参照。

VB2010:
 データヒントは表示されない。(4行目は表示されるのだが…)
 クイックヒントは TextBox.Text を参照。

VB2012:
 データヒントは Form1.Text を表示。(何で?)
 クイックヒントは TextBox.Text を参照。

VB2013:
 2012 と同じ状況。



> これって仕様変更なのでしょうか??
バージョンごとに、ここまで仕様が変更されているとは思いませんでしたが、
いずれにせよ、これは不具合っぽいですね。

はりまっちさんは、MSDN サブスクリプションの契約をお持ちでしょうか?
もしお持ちなら、テクニカル サポートを通じて問い合わせてみては如何でしょう。


私の方で問い合わせると、時期的に、テクニカルサポート契約の更新が
必要なこともあって、問い合わせをかけられるのが 4 週間後になってしまいます。
(それでも良いなら、私のほうで連絡しますが…)
魔界の仮面弁士さん、早速の御レス、ありがとうございます。

> VB2012:
>  データヒントは Form1.Text を表示。(何で?)
>  クイックヒントは TextBox.Text を参照。
やっぱり、そうですよね!私の環境のみかと思いました。
2005時代からWithを好んで使っておりましたので、「どうゆうこと??」と悩んでおりました。
ちなみにSelect Caseでも同様の現象ですが、If (.Text="HOGE") Thenの様に括弧で括れば正しく表示されます。

> はりまっちさんは、MSDN サブスクリプションの契約をお持ちでしょうか?
> もしお持ちなら、テクニカル サポートを通じて問い合わせてみては如何でしょう。
一般ピープルですので残念ながらサブスクリプション契約はしておりません。
こちらも仕様(?)とあらば仕方がありませんので、留意しておくレベルで問題ありませんので、魔界の仮面弁士さんが問い合わせされる際に話しのネタに通報をお願いします。

どうも、おつきあい、ありがとうございました。
解決済み!
■No32452に返信(はりまっちさんの記事)
> 2005時代からWithを好んで使っておりましたので、
逆に自分は、VB2005 以降ではほとんど遣わなくなりましたね。
(.NET 以前、特に 16bit 時代は多用していましたが…)

.NET になってから、(Namespace)→Class→Procedure として
インデント階層が深くなったこともあり、With を使っても
可読性がさほど向上しなくなったというのがその理由です。

また、デバッグ時にイミディエイト ウィンドウで操作する場合、
With を使わずに処理した方が便利な事が多かったです。


> 括弧で括れば正しく表示されます。
 φ(..)本当だ! 表示すらされなかった VB2010 さえも OK ですね。


> 一般ピープルですので残念ながらサブスクリプション契約はしておりません。
一応、サポートのみの契約もできます。
http://www.microsoft.com/ja-jp/services/professional.aspx

不具合に起因するものである場合は、インシデントは消費されませんが、
そもそもインシデントの入手に費用がかかるので、緊急性の高い問題を
抱えていない限り、購入することは無いでしょうけれどね…。


あるいは、無償で報告できる窓口として、Microsoft Connect があります。
ただし報告のみの場所であり、回答が保証されているわけではありません。
https://connect.microsoft.com/VisualStudio/content/content.aspx?ContentID=25941


> 魔界の仮面弁士さんが問い合わせされる際に話しのネタに通報をお願いします。
先ほどサポート契約を申し込んだので、インシデントを入手次第、
With ステートメントに対する Visual Studio(≠Visual Basic)の
動作について確認してみます。

回答は来月あるいはそれ以降になると思いますが…
それでも、こちらの掲示板にフィードバックした方が良いですかね。
解決済み!
はりまっちです。魔界の仮面弁士さん、レスありがとうございます。

> また、デバッグ時にイミディエイト ウィンドウで操作する場合、
> With を使わずに処理した方が便利な事が多かったです。
確かにちょい見のデータヒントでは良いのですが、イミディエイトウィンドウなら、必要プロパティをコピペして、その前に手で補完しないといけないので面倒ですよね。その時は痛感します。

> 回答は来月あるいはそれ以降になると思いますが…
> それでも、こちらの掲示板にフィードバックした方が良いですかね。
ごみネタですが、興味本位もありますので出来ればフォロー願えれば幸いです。
(お手間でない程度で結構ですので・・・)

以上、ありがとうございました。
解決済み!
■No32454に返信(はりまっちさんの記事)
>> 先ほどサポート契約を申し込んだので、インシデントを入手次第、
>> With ステートメントに対する Visual Studio(≠Visual Basic)の
>> 動作について確認してみます。
>> 回答は来月あるいはそれ以降になると思いますが…
>> それでも、こちらの掲示板にフィードバックした方が良いですかね。
> ごみネタですが、興味本位もありますので出来ればフォロー願えれば幸いです。
> (お手間でない程度で結構ですので・・・)

プロフェッショナル サポートのインシデントがようやく届きました。

先ほど問い合わせを開始しましたので、何か進展がありましたら、
こちらにフィードバックするように致します。
> プロフェッショナル サポートのインシデントがようやく届きました。
> 先ほど問い合わせを開始しましたので、何か進展がありましたら、
> こちらにフィードバックするように致します。

魔界の仮面弁士さん、ありがとうございます。
情報がありましたら、お願いいたします。
2014/08/29(Fri) 18:43:12 編集(投稿者)

■No32562に返信(はりまっちさんの記事)
>>プロフェッショナル サポートのインシデントがようやく届きました。
>>先ほど問い合わせを開始しましたので、何か進展がありましたら、
>>こちらにフィードバックするように致します。
> 情報がありましたら、お願いいたします。

中間報告です。

・今回の件は、不具合として登録されました。
 はりまっちさん、情報提供ありがとうございます。

・次期バージョン(VS2014)で修正予定との返答を開発チームから頂きました。
 ただし "Roslyn" 側への修正も見込まれるため、修正時期については
 今のところ未定とのことです。

・その一方で、現行製品の修正は今のところ困難とのことです。どうしても修正が
 必要な場合は、ビジネス上でどこまで致命的なのかを明らかにした上で、
 ホットフィックスのリクエストを投げて、再検討してもらうことになります。
 (なお、今回は依頼しておりません)

・今回の現象を、Microsoft の blog 記事として、来週にも情報公開して
 いただける予定です。Knowledge Base での公開も検討したのですが、
 blog の方が画像等を使った説明を行いやすいとの判断です。
魔界の仮面弁士さん、ご報告有り難うございました。

> ・その一方で、現行製品の修正は今のところ困難とのことです。どうしても修正が
>  必要な場合は、ビジネス上でどこまで致命的なのかを明らかにした上で、
>  ホットフィックスのリクエストを投げて、再検討してもらうことになります。
>  (なお、今回は依頼しておりません)
とんでもございませn。
私のPCだけの現象では無ければ、それで結構です。

> ・今回の現象を、Microsoft の blog 記事として、来週にも情報公開して
>  いただける予定です。Knowledge Base での公開も検討したのですが、
>  blog の方が画像等を使った説明を行いやすいとの判断です。
何か、話が大きくなってきましたが、情報が皆様のお役に(?)たてればそれで結構です。

魔界の仮面弁士さん、本当にお手数をお掛けして申し訳ございませんでした。(感謝)
2014/09/18(Thu) 15:13:50 編集(投稿者)

■No32584に返信(はりまっちさんの記事)
>>・今回の現象を、Microsoft の blog 記事として、

記事が公開されましたので、シェアしておきます。
http://blogs.msdn.com/b/jpvsblog/archive/2014/09/18/datatip-displays-wrong-object.aspx

# 何か追加情報があれば、同記事にコメントを付けて
# ――と思ったら、何故かコメントできなかった…。


なお、括弧で囲む対処方法については、確実性を保証できないとのことで、
同記事では、ウォッチ ウィンドウで代用する旨が提案されています。
魔界の仮面弁士さん、有り難うございます。

■No32621に返信(魔界の仮面弁士さんの記事)
> 記事が公開されましたので、シェアしておきます。
> http://blogs.msdn.com/b/jpvsblog/archive/2014/09/18/datatip-displays-wrong-object.aspx

些細な事ですが、少しずつでもVSのレベルアップになればいいですね。
(価格のレベルアップは確実に実施されておりますが・・・)

何はともわれ、御礼申し上げます。有り難うございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板