<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>VisualStudio2005</title><link>http://blogs.wankuma.com/jitta/category/352.aspx</link><description>VisualStudio2005</description><managingEditor>はなおか じった</managingEditor><dc:language>ja-JP</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>はなおか じった</dc:creator><title>レーティングをお願いします。</title><link>http://blogs.wankuma.com/jitta/archive/2008/04/29/135731.aspx</link><pubDate>Tue, 29 Apr 2008 22:24:00 GMT</pubDate><guid>http://blogs.wankuma.com/jitta/archive/2008/04/29/135731.aspx</guid><wfw:comment>http://blogs.wankuma.com/jitta/comments/135731.aspx</wfw:comment><comments>http://blogs.wankuma.com/jitta/archive/2008/04/29/135731.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/jitta/comments/commentRss/135731.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/jitta/services/trackbacks/135731.aspx</trackback:ping><description>&lt;p&gt;&lt;a href="https://connect.microsoft.com/VisualStudioJapan/feedback/ViewFeedback.aspx?FeedbackID=331481" class="outerLink"&gt;VS2005 SP1をマージしたものを希望&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://connect.microsoft.com/VisualStudioJapan/feedback/ViewFeedback.aspx?FeedbackID=340947" class="outerLink"&gt;ライブラリや OS 機能の追加、変更、削除を RSS として配信して欲しい。&lt;/a&gt;&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/jitta/aggbug/135731.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>はなおか じった</dc:creator><title>今更ですが、Visual Studio 2005 SP1 適用済みイメージの作成</title><link>http://blogs.wankuma.com/jitta/archive/2008/01/27/119473.aspx</link><pubDate>Sun, 27 Jan 2008 19:51:00 GMT</pubDate><guid>http://blogs.wankuma.com/jitta/archive/2008/01/27/119473.aspx</guid><wfw:comment>http://blogs.wankuma.com/jitta/comments/119473.aspx</wfw:comment><comments>http://blogs.wankuma.com/jitta/archive/2008/01/27/119473.aspx#Feedback</comments><slash:comments>17</slash:comments><wfw:commentRss>http://blogs.wankuma.com/jitta/comments/commentRss/119473.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/jitta/services/trackbacks/119473.aspx</trackback:ping><description>&lt;p class="p"&gt;元ネタというか、原文:&lt;a href="http://blogs.msdn.com/heaths/archive/2006/12/16/slipstreaming-visual-studio-2005-service-pack-1.aspx" title="→msdn.com" class="outerLink"&gt;Slipstreaming Visual Studio 2005 Service Pack 1&lt;/a&gt;&lt;/p&gt;
&lt;p class="p"&gt;Visual Studio 2005 Service Pack 1 の提供が開始されましたが、SP1 を適用済みのインストール パッケージが提供されないことを不満に感じているユーザもいらっしゃるようです。ここで紹介するプロセスは、Windows Installer パッケージの標準的な機能です。&lt;/p&gt;
&lt;p class="p"&gt;どうかこのプロセスが、3GB 以上（MSDN を導入するならそれ以上）という多くのディスク スペースを必要とすることを覚悟してください。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;製品をインストールする
&lt;p class="p"&gt;次の方法で、Visual Studio 2005 の管理用ツールをインストールします。この方法は、Windows Installer にとってはサポートされた作業ですが、Visual Studio 2005 のインストールとしてはサポートされていません。他に考えられる障害については、後ほど議論しましょう。&lt;/p&gt;
&lt;p class="p"&gt;この中で、"D:" は、CD または DVD ドライブを意味しています。また、"&amp;yen;&amp;yen;Server&amp;yen;share" は、実行するユーザが読み書きできるファイルサーバ上のフォルダを意味します。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;msiexec.exe /a &lt;i&gt;D:&lt;/i&gt;&amp;yen;vs_setup.msi TARGETDIR=&lt;i&gt;&amp;yen;&amp;yen;server&amp;yen;share&lt;/i&gt; /L*vx &lt;i&gt;install.log&lt;/i&gt;&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;パッチをアンパックする
&lt;p class="p"&gt;あなたがダウンロードした service pack 1 のファイルは、.msp ファイルをラップしたものです。したがって、&lt;kbd&gt;/extract&lt;/kbd&gt; スイッチを使用して、.msp ファイルを抽出しなければなりません。Team Suite だと仮定すると（&lt;a href="http://www.microsoft.com/japan/msdn/vstudio/downloads/sp/vs2005/sp1/" title="→microsoft.com" class="outerLink"&gt;Visual Studio 2005 Service Pack 1&lt;/a&gt;）、次のようにコマンドを入力します。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;i&gt;VS80sp1-KB926601-X86-ENU.exe&lt;/i&gt; /extract "%TMP%"&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;パッチを適用する
&lt;p class="p"&gt;.msp ファイルが抽出されたなら、管理用ツールに適用します。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;msiexec.exe /a &lt;i&gt;&amp;yen;&amp;yen;server&amp;yen;share&amp;yen;&lt;/i&gt;vs_setup.msi /p "%TMP%&amp;yen;&lt;i&gt;VS80sp1-KB926601-X86-ENU.msp&lt;/i&gt;" /L*vx &lt;i&gt;patch.log&lt;/i&gt;&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;パッチが適用された製品をインストールする
&lt;p class="p"&gt;Visual Studio 2005 のネットワーク インストールのための公式な方法は、&lt;a href="http://support.microsoft.com/kb/907759/" title="→microsoft.com" class="outerLink"&gt;KB907759&lt;/a&gt;（機械翻訳）にあります。上記の例でいえば &lt;i&gt;&amp;yen;&amp;yen;Server&amp;yen;Share&amp;yen;&lt;/i&gt; である、管理用ツールを展開したのと同じディレクトリに、CD または DVD のコンテンツをコピーしてください。ただし、&lt;b&gt;ファイルを置き換えないようにしてください。&lt;/b&gt;ルート ディレクトリにある CAB ファイルなども同様に、コピーする必要はありません。それらは全ては、ソース ディレクトリに抽出されています。このステップは、管理用ツールのインストール先に、ブートストラップ ファイル、およびその他の必要とされるコンポーネントをコピーすることです。コピーが終了すれば、&lt;kbd&gt;setup.exe&lt;/kbd&gt; を普通に実行してください。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;p class="p"&gt;Notes は、意味がわかりませんでした。。。「パッチを当てたという情報が本質的にないので、サービスパックをアンインストールすることはできません」ということだけ、わかった。&lt;/p&gt;
&lt;p class="p"&gt;ログはかなりでかくなるので、余裕のあるディスクに放り込むか、&lt;kdb&gt;/log&lt;/kdb&gt; オプションに変更しましょう。&lt;kdb&gt;msiexec /help&lt;/kdb&gt; とすると、オプション スイッチの説明が表示されます。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/jitta/aggbug/119473.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>はなおか じった</dc:creator><title>簡単いろいろ</title><link>http://blogs.wankuma.com/jitta/archive/2007/11/05/106172.aspx</link><pubDate>Mon, 05 Nov 2007 22:27:00 GMT</pubDate><guid>http://blogs.wankuma.com/jitta/archive/2007/11/05/106172.aspx</guid><wfw:comment>http://blogs.wankuma.com/jitta/comments/106172.aspx</wfw:comment><comments>http://blogs.wankuma.com/jitta/archive/2007/11/05/106172.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.wankuma.com/jitta/comments/commentRss/106172.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/jitta/services/trackbacks/106172.aspx</trackback:ping><description>&lt;p&gt;ネタもと：&lt;a href="http://blogs.wankuma.com/episteme/archive/2007/10/30/104808.aspx"&gt;すごーく気になる&lt;/a&gt;（東方算程譚）、&lt;a href="http://blogs.wankuma.com/torikobito/archive/2007/10/30/104886.aspx"&gt;基本的な視覚（機械翻訳）が気になる。&lt;/a&gt;（とりこびと ぶろぐ。）&lt;/p&gt;
&lt;p class="p"&gt;11/24 に行う予定のセッションでは、MSDN ライブラリを中心に、短時間で検索できるようになるまでの時間が短くなることを目的として行うつもりです。&lt;/p&gt;
&lt;p class="p"&gt;多くの開発ツールは、短時間でアプリケーションが製造できることを謳っています。&lt;/p&gt;
&lt;p class="p"&gt;つまり、Rapid Application Development ツールが「今まで1時間かかっていたものを、30分で仕上がるようにします」というのに対して、私は「1時間かかっていた検索が30分でできるようになるまでに10日かかっていたなら、その期間を8日に縮めましょう」（数値に意味はない）というわけです。&lt;/p&gt;
&lt;br&gt;
&lt;p class="p"&gt;むぅ。。。なんか、すごいこと言ってるな、オレ。&lt;/p&gt;
&lt;p class="p"&gt;それはいいや。この2つが、どう違うのでしょうか。&lt;/p&gt;
&lt;p class="p"&gt;私の感想です。&lt;/p&gt;
&lt;p&gt;RAD ツールのうたい文句は、「基礎がなくてもできます」。私が言っているのは、「基礎を短い時間で習得できるようにしましょう」。&lt;/p&gt;
&lt;br&gt;
&lt;br&gt;
&lt;p class="p"&gt;なんかね、思うですよ。基礎をおろそかにしていいのか？建物の基礎をおろそかにすると、どうなる？船の基礎、竜骨に桜などのもろい木を使ったらどうなる？&lt;/p&gt;
&lt;p class="p"&gt;一体全体、基礎ができていないのに務まる仕事って、他にあるのでしょうか？&lt;/p&gt;
&lt;p class="p"&gt;例えばね、Insider.NET 会議室の、「&lt;a href="http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=41981&amp;forum=7&amp;24" title="→atmarkit.co.jp" class="outerLink"&gt;ListBoxでのSelectedIndexChangedイベントの動作について&lt;/a&gt;」。なんすか？なんで Visual Basic Express Edition だと、「呼び出し履歴」が表示されないんすか？&lt;/p&gt;
&lt;p class="p"&gt;いや、「Express Edition だと表示されない」なら、まだ、納得しませんよ。しないけど、まぁ、しょうがないかも知れないかと思う。そうじゃなく、どうして、Visual Basic Express Edition だけ、なんですか？それともやっぱり、「開発者が Visual Basic 使うな！」とか？&lt;/p&gt;
&lt;p class="p"&gt;何にしても、呼び出し履歴が出せないっておかしいやろ？開発者っちゅうか、おそらく日本人ではない仕様決定者を正座させて小一時間（延々と続く．．．&lt;/p&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;p class="p"&gt;なんかね、あまりにも衝撃的すぎて、他の方向へ行くはずだったのに、方向が変わっちゃいましたよ。書きかけで数日おいちゃうと、ダメですね、やっぱり。&lt;/p&gt;
&lt;img src ="http://blogs.wankuma.com/jitta/aggbug/106172.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>はなおか じった</dc:creator><title>「try - catch 使うなキャンペーン」とか言ってみる  </title><link>http://blogs.wankuma.com/jitta/archive/2007/06/08/80091.aspx</link><pubDate>Fri, 08 Jun 2007 22:07:00 GMT</pubDate><guid>http://blogs.wankuma.com/jitta/archive/2007/06/08/80091.aspx</guid><wfw:comment>http://blogs.wankuma.com/jitta/comments/80091.aspx</wfw:comment><comments>http://blogs.wankuma.com/jitta/archive/2007/06/08/80091.aspx#Feedback</comments><slash:comments>19</slash:comments><wfw:commentRss>http://blogs.wankuma.com/jitta/comments/commentRss/80091.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/jitta/services/trackbacks/80091.aspx</trackback:ping><description>&lt;blockquote&gt;&lt;p class="quoteSource"&gt;&lt;a href="http://blogs.wankuma.com/pinzolo/archive/2007/06/07/79945.aspx"&gt;throw e;&lt;/a&gt;（へぼろっぱぁ）より：&lt;/p&gt;
&lt;p&gt;定期的に各所ででてくるお話ですが throw e; はやめましょうね、ホントに。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p class="p"&gt;まぁ、あれですよ。&lt;kbd&gt;Try&lt;/kbd&gt; と入力すると、&lt;samp&gt;Catch&lt;/samp&gt; が自動入力されるのが、そもそもの間違いなんです。&lt;/p&gt;
&lt;p class="p"&gt;あれ？あれれれれ？？？&lt;/p&gt;
&lt;p class="p"&gt;むはっ！！！勘弁してください→&lt;a href="http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/vblr7/html/vastmThrow.asp" title="→旧 msdn ライブラリ"&gt;Visual Basic 言語リファレンス / Throw ステートメント&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;dl&gt;&lt;dt&gt;expression&lt;/dt&gt;&lt;dd&gt;必ず指定します。スローする例外に関する情報を指定します。&lt;/dd&gt;&lt;/dl&gt;&lt;/blockquote&gt;
&lt;p class="p"&gt;これですよ、これ。マイクロソフトの説明が、そもそも間違っているんですよorz&lt;/p&gt;
&lt;p class="p"&gt;正しくは、こっち→&lt;a href="http://msdn2.microsoft.com/ja-jp/library/ty79csek(VS.80).aspx" title="→新 msdn ライブラリ"&gt;Throw ステートメント (Visual Basic)&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;dl&gt;&lt;dt&gt;expression&lt;/dt&gt;&lt;dd&gt;必ず指定します。スローする例外に関する情報を指定します。Catch ステートメント内では省略可能です。&lt;/dd&gt;&lt;/dl&gt;&lt;/blockquote&gt;
&lt;p class="p"&gt;&lt;q&gt;Catch ステートメント内では省略可能です。&lt;/q&gt;&lt;/p&gt;
&lt;p class="p"&gt;&lt;q&gt;Catch ステートメント内では省略可能です。&lt;/q&gt;&lt;/p&gt;
&lt;p class="p"&gt;&lt;q&gt;Catch ステートメント内では省略可能です。&lt;/q&gt;&lt;/p&gt;
&lt;p class="p"&gt;なお、C# の方は、旧 MSDN ライブラリでも&lt;q&gt;catch 句に現在の例外オブジェクトを再びスローするときは省略されます。&lt;/q&gt;と書かれています。…なんか、変な日本語だけど、まぁ、よしとする。&lt;/p&gt;
&lt;p class="p"&gt;………うわ！だめだぁ～～！！C# は、新 MSDN ライブラリの方がダメダメですよ！！→&lt;a href="http://msdn2.microsoft.com/ja-jp/library/0yd65esw(VS.80).aspx" title="→microsoft.com"&gt;try-catch (C# リファレンス)&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
	&lt;p&gt;throw ステートメントは、catch ステートメントでキャッチされた例外を再びスローするために catch ブロックで使用できます。次に例を示します。&lt;/p&gt;
	&lt;pre class="code"&gt;&lt;code&gt;catch (InvalidCastException e)
{
    throw (e);    // Rethrowing exception e
}
&lt;/code&gt;&lt;/pre&gt;
	&lt;p&gt;パラメータのない catch 句で処理された例外を再スローする場合、引数のない throw ステートメントを使用します。次に例を示します。&lt;/p&gt;
	&lt;pre class="code"&gt;&lt;code&gt;catch
{
    throw;
}
&lt;/code&gt;&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p class="p"&gt;『C# 言語仕様』の方には、ちゃんと書いてありますね。&lt;/p&gt;
&lt;blockquote&gt;&lt;p class="quoteSource"&gt;8.9.5 The throw statement より：&lt;/p&gt;
&lt;p&gt;A &lt;samp&gt;throw&lt;/samp&gt; statement with no expression can be used only in a &lt;samp&gt;catch&lt;/samp&gt; block, in which case that statement re-throws the exception that is currently being handled by that &lt;samp&gt;catch&lt;/samp&gt; block.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="p"&gt;ちょうどいいや。ここで宣伝。&lt;/p&gt;
&lt;p class="p"&gt;新しい msdn ライブラリでは、各ページの下の方に「コミュニティ コンテンツ」というところがあります。このコミュニティ コンテンツは、Windows Live ID を持っている方なら誰でも、そのページの内容に関係のある事柄を書き込むことができます。&lt;br&gt;
“関係のある事柄”といっても、「この意味がわからない。」「これって、具体的にどう使うの？」といった質問に関しては、MSDN フォーラム他でお尋ねください。&lt;br&gt;
そういった質問ではなく、「ここ、誤訳でしょ。正しくは、こう！」とか、「ここでされている説明って、間違ってますよね。実際にはこう動きますよね。」とか、「これって、使い道があまりなさそうですが、こんな風に使ってください。」とか、「よく間違って使っている例を見ますが、こんな風に使いましょう。」など、他の人への提案を書き込んでください。&lt;/p&gt;
&lt;p class="p"&gt;とはいえ、MVP を中心としたモデレータが、24時間態勢で（＜おいっ！！）見回り、適切な誘導をしますので、感覚がつかめるまでは遠慮無く書き込んでください。&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;閑話休題&lt;/p&gt;
&lt;br&gt;
&lt;p class="p"&gt;まぁ、ね。あれですよ。そもそもの原因は &lt;kbd&gt;try&lt;/kbd&gt; と入力したら &lt;samp&gt;catch&lt;/samp&gt; ブロックが挿入されることですよ。これが、&lt;samp&gt;finally&lt;/samp&gt; だったら、誰も再スローしようなんて思わないのですから。&lt;/p&gt;
&lt;p class="p"&gt;かつ、.NET Framework では「検査例外」は無いのですから、ほとんどの場合は try - finally で良いのです。いっそのこと、「try - catch 使うな。try - finally 使え。」ってことで、キャンペーン打ってみてはいかがでしょう？&lt;/p&gt;
&lt;img src ="http://blogs.wankuma.com/jitta/aggbug/80091.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Jitta</dc:creator><title>Option Strict は、ON にしましょう</title><link>http://blogs.wankuma.com/jitta/archive/2006/03/07/21713.aspx</link><pubDate>Tue, 07 Mar 2006 21:45:00 GMT</pubDate><guid>http://blogs.wankuma.com/jitta/archive/2006/03/07/21713.aspx</guid><wfw:comment>http://blogs.wankuma.com/jitta/comments/21713.aspx</wfw:comment><comments>http://blogs.wankuma.com/jitta/archive/2006/03/07/21713.aspx#Feedback</comments><slash:comments>924</slash:comments><wfw:commentRss>http://blogs.wankuma.com/jitta/comments/commentRss/21713.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/jitta/services/trackbacks/21713.aspx</trackback:ping><description>&lt;P class=p&gt;VB.NET でのお話。&lt;/P&gt;
&lt;P class=p&gt;あるプロジェクトを、ある顧客向けに大幅カスタマイズすることになりました。で、コードを見てみると。。。&lt;/P&gt;
&lt;DIV style="BORDER-BOTTOM: gray 1px dashed"&gt;
&lt;P&gt;ケース１&lt;/P&gt;
&lt;P class=p&gt;&lt;SPAN style="COLOR: red"&gt;Module ブロック発見！！&lt;/SPAN&gt;ざっと眺めると、固定文字列が定義してあるだけっぽい。ならいいや。Public Class に宣言を変更し、すべてのフィールドを Public Const に変更していく。&lt;/P&gt;
&lt;P class=p&gt;と、&lt;SPAN style="COLOR: red"&gt;&amp;#8220;変数&amp;#8221;発見！！&lt;/SPAN&gt;やめてよ。これ、ASP.NET ですよ。Module ブロックの変数は、全リクエストで共有されるんですよ。同時に動かされたら、アウトじゃないですか。使用しているクラスを探すと、１つだけだった。なら話は早い。そのクラスのクラス変数として持たせ、コンストラクタで一緒にコンストラクトするように修正。&lt;/P&gt;
&lt;P class=p&gt;後で気が付く。こちらのクラスで宣言すりゃいいんじゃないかorz&lt;/P&gt;&lt;/DIV&gt;
&lt;DIV style="BORDER-BOTTOM: gray 1px dashed"&gt;
&lt;P&gt;ケース２&lt;/P&gt;
&lt;P class=p&gt;ざっとコードを眺めると、&lt;SPAN style="COLOR: red"&gt;返値宣言していない Function 発見！！&lt;/SPAN&gt;やめてってば。嫌な悪寒するけど、Option Strict を On にする。タスクにいっぱい並びました。並びすぎて、「エラーの数が最大値を超えました」なんてメッセージもでてる（涙）&lt;/P&gt;
&lt;P class=p&gt;&lt;CODE&gt;a = b = c = d = 0&lt;/CODE&gt;&lt;BR&gt;って、なんですか？これ、VB.NET ですよ？エラーメッセージは、「Integer である a に Boolean 型は代入できません」。ほぉ！この式は、C 言語風に書くと、&lt;BR&gt;&lt;CODE&gt;a = (b == (c == (d == 0)))&lt;/CODE&gt;&lt;BR&gt;なんですね！！初めて知りました（涙）&lt;/P&gt;&lt;/DIV&gt;
&lt;DIV style="BORDER-BOTTOM: gray 1px dashed"&gt;
&lt;P&gt;ケース３&lt;/P&gt;
&lt;P class=p&gt;当然のように、縮小変換できないというエラーもいっぱいでているわけです。そのうち、一番泣きたかったもの。&lt;BR&gt;&lt;CODE&gt;Dim 計算結果(maxCount * 10 + 1) As Double&lt;/CODE&gt;&lt;BR&gt;これだけ見ると、おかしくはない。でも、&lt;SPAN style="COLOR: red"&gt;maxCount が Double で宣言&lt;/SPAN&gt;されていたら？（泣笑）どうして何かの&amp;#8220;数&amp;#8221;が、Double なのさ？！&lt;/P&gt;&lt;/DIV&gt;
&lt;DIV style="BORDER-BOTTOM: gray 1px dashed"&gt;
&lt;P&gt;ケース４&lt;/P&gt;
&lt;P class=p&gt;コンピュータは、すべてのものを 0 と 1 で表現しようとします。文字だって、&amp;#8220;文字コード&amp;#8221;という序数で表現され、0 と 1 で表されます。このとき、小数は表現できないものがあります。例えば、0.1。小数は、２進数で 2&lt;SUP&gt;-n&lt;/SUP&gt; の式で表される数字の和により表現します。つまり、0.5, 0.25, 0.125, 0.0625, 0.03125, ... というような数字の和です。0.1 を、2&lt;SUP&gt;-n&lt;/SUP&gt; の和で表現することは出来ません。このため、0.1 を 10 回足しても、必ずしも 1 になるとは限りません。近似的に 1 になるので、近似的な 1 を整数の 1 と同じとみなしてくれるかどうか、そこが問題になります。&lt;/P&gt;
&lt;P class=p&gt;また、縮小方向に暗黙変換してくれるのならいいのですが、そんなことをすると桁落ちが発生して本当の数字ではなくなるため、拡大方向の暗黙変換のみ、行ってくれます。&lt;/P&gt;
&lt;P class=p&gt;そうするとですね、&lt;BR&gt;&lt;CODE&gt;For cnt As Double = 0 To maxCount &lt;SPAN style="COLOR: red"&gt;Step 0.1&lt;/SPAN&gt;&lt;/CODE&gt;&lt;BR&gt;というループは、終了しない可能性があるのです。実際、「終了しないんだけど、なぜ？」という質問があります。&lt;/P&gt;&lt;/DIV&gt;
&lt;DIV style="BORDER-BOTTOM: gray 1px dashed"&gt;
&lt;P&gt;ケース５&lt;/P&gt;
&lt;P class=p&gt;Excel などの Office 製品をオートメーションするという案件は、たくさんあると思います。このとき、Option Strict On にしておくと、CType の嵐になります。例えば、&lt;BR&gt;&lt;CODE&gt;workbook.WorkSheets(sheetName).Range(rangeName) = rangeValue&lt;/CODE&gt;&lt;BR&gt;と書くことは、Strict Off であればとおります。これを、Strict On で書くなら、、、&lt;BR&gt;&lt;CODE&gt;Ctype(Ctype(Ctype(workbook.WorkSheets, Excel.Sheets)(sheetName), Excel.WrokSheet).Range(rangeName), Excel.Range).Value = rangeValue&lt;/CODE&gt;&lt;BR&gt;と書かなければなりません。&lt;/P&gt;
&lt;P class=p&gt;それでもね、やっぱり、Strict On にしましょう。&lt;/P&gt;
&lt;P class=p&gt;レイトバインディング、遅延バインディング、実行時バインディングという言葉を聞いたことがありますか？これらは、VB や JavaScrip などで採用されています。実行時にその型がなにで、どんなメンバを持っているのか、解決します。そうするとですね、実行時にいちいち、「このインスタンスの型は何かな？この型にこのメンバは含まれているのかな？」というチェックを行います。こう書くと、「チェックが入る分、遅くなる」ということを、わかってもらえますか？&lt;/P&gt;
&lt;P class=p&gt;Strict On にするということは、事前バインディング、アーリーバインディング、コンパイル時バインディングになります。コンパイルの時に型のチェックが行われるため、実行時は参照の解決だけをすればいいので、場合によってはかなり速くなります。今回のプロジェクトでは、10 分以上かかっていた処理が、5 分程度で終わるようになりました。&lt;/P&gt;&lt;/DIV&gt;
&lt;DIV style="BORDER-BOTTOM: gray 1px dashed"&gt;
&lt;P&gt;ケース６&lt;/P&gt;
&lt;P class=p&gt;ケース５に引き続き、オートメーションの話。&lt;/P&gt;
&lt;P class=p&gt;Insider.NET 会議室に、「Excel のプロセスが終了しない」という質問が、結構あります。かくいう私も、質問した１人です。答え：COM のリリースは Dispose でも GC.Collect でもなく、Marshal.ReleaseComObject メソッドを使用します。&lt;/P&gt;
&lt;P class=p&gt;で、これがまたやっかいで。Excel の場合、Excel 名前空間以下に定義されているクラスは、すべてマーシャラーが参照します。したがって、すべて参照を解放してください。ケース５の例を使います。&lt;/P&gt;&lt;PRE class=code&gt;&lt;CODE&gt;
Dim worksheets As Excel.Sheets = Nothing
Try
    worksheets = CType(workbook.WorkSheets, Excel.Sheets)
    Dim worksheet As Excel.WorkSheet = Nothing
    Try
        worksheet = CType(worksheets("シート"), Excel.WorkSheet)
        Dim range As Excel.Range = Nothing
        Try
            range = worksheet.Range("レンジ名")
            range.Value = rangeValue
        Finally
            If Not range Is Nothing Then Marshal.ReleaseComObject(range)
        End Try
    Finally
        If Not worksheet Is Nothing Then Marshal.ReleaseComObject(worksheet)
    End Try
Finally
    If Not worksheets Is Nothing Then Marshal.ReleaseComObject(worksheets)
End Try&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P class=p&gt;面倒ですね。でも、こうしてください。そうでないと、Excel のプロセスが残ります。&lt;/P&gt;
&lt;P class=p&gt;しかし、CType を使ったところと、解放するところが一致していることがわかるでしょうか。また、参照を細かく切ると、実はスピードアップにつながります。&lt;/P&gt;&lt;/DIV&gt;&lt;BR&gt;&lt;BR&gt;
&lt;P class=p&gt;ということで、Option Strict は On で使用しましょう。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/jitta/aggbug/21713.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Jitta</dc:creator><title>←こんなバナー貼ってますが・・・</title><link>http://blogs.wankuma.com/jitta/archive/2006/02/28/21583.aspx</link><pubDate>Tue, 28 Feb 2006 06:16:00 GMT</pubDate><guid>http://blogs.wankuma.com/jitta/archive/2006/02/28/21583.aspx</guid><wfw:comment>http://blogs.wankuma.com/jitta/comments/21583.aspx</wfw:comment><comments>http://blogs.wankuma.com/jitta/archive/2006/02/28/21583.aspx#Feedback</comments><slash:comments>19</slash:comments><wfw:commentRss>http://blogs.wankuma.com/jitta/comments/commentRss/21583.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/jitta/services/trackbacks/21583.aspx</trackback:ping><description>&lt;p class="p"&gt;Visual Studio 2005 を導入したからといって、劇的に残業が減るとは思いません。&lt;/p&gt;
&lt;p class="p"&gt;なぜか？&lt;/p&gt;
&lt;p class="p"&gt;残業の要因は、３つあると思います。&lt;span style="color:gray"&gt;（付き合い残業などはのぞく）&lt;/span&gt;&lt;/p&gt;
&lt;p class="p"&gt;１つは、望み通りの機能にするために、どの様な手順を踏めばいいのか、わからないこと。つまり、設計の問題。&lt;/p&gt;
&lt;p class="p"&gt;１つは、手順を実装するコードが書けないこと。つまり、コーディングの問題。&lt;/p&gt;
&lt;p class="p"&gt;１つは、現在の動作を、望み通りの動作に変更できないこと。つまり、デバッグの問題。&lt;/p&gt;
&lt;p class="p"&gt;Visual Studio 2005 を導入することで、コードを書く量、つまり、２番目の「コーディング」が、減ります。&lt;/p&gt;
&lt;p class="p"&gt;しかし、作らなければならないアプリケーションの機能が減るわけではありません。機能が減るわけではないため、設計しなければならない量も減りません。「多くのことがプロパティの設定で済むのだから、減るじゃないか」って？それもあるでしょう。しかし、どのプロパティにどの様な値を設定するのか、やはり設計しなければなりません。&lt;/p&gt;
&lt;p class="p"&gt;統合開発環境は、デバッグ作業を支援してくれますが、デバッグをするのはあくまでも人であって、統合開発環境ではありません。コードの多くが自動生成、つまりバグがない状態で生成されるので、やはり多少は減るでしょう。しかし、それは反面、コードに対する理解力を奪います。&lt;/p&gt;
&lt;p class="p"&gt;そういうわけで、「コードを書く」ことだけが仕事の人は、劇的に残業が減るかもしれません。しかし、コード設計やデバッグをする人は、そんなに変わらない、ということです。&lt;/p&gt;
&lt;br&gt;
&lt;br&gt;
&lt;p class="p"&gt;いえ、Visual Studio 2005 はいいツールですよ。でも、ツールはあくまでツールであって、その能力はツールを使う人に依存する、ということです。&lt;/p&gt;
&lt;p class="p"&gt;水泳の北島選手がいい記録を残していますが、その記録は彼が着ている水着が作ったものですか？違いますよね。確かに新開発された水着は、水の抵抗をうまく逃がして、記録を伸ばす手伝いをしたでしょう。しかし、記録を作ったのは彼の力です。誰もが、その水着を着たからといって、同じように世界記録が出せるわけではありません。しかし、水の抵抗をうまく逃がすという水着の恩恵は、誰もが受けることができるでしょう。しかし、その恩恵をどの様に活かし、どの様な結果を出せるかは、個人の力にかかっています。&lt;/p&gt;
&lt;p class="p"&gt;同じように、Visual Studio 2005 は、すばらしいツールです。しかし、ツールの力を引き出すのは、使う人です。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/jitta/aggbug/21583.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Jitta &lt;jitta@sky.sannet.ne.jp&gt;</dc:creator><title>書式付き文書を作成する（成功ならず）</title><link>http://blogs.wankuma.com/jitta/archive/2005/11/12/19254.aspx</link><pubDate>Sat, 12 Nov 2005 06:06:00 GMT</pubDate><guid>http://blogs.wankuma.com/jitta/archive/2005/11/12/19254.aspx</guid><wfw:comment>http://blogs.wankuma.com/jitta/comments/19254.aspx</wfw:comment><comments>http://blogs.wankuma.com/jitta/archive/2005/11/12/19254.aspx#Feedback</comments><slash:comments>263</slash:comments><wfw:commentRss>http://blogs.wankuma.com/jitta/comments/commentRss/19254.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/jitta/services/trackbacks/19254.aspx</trackback:ping><description>&lt;P&gt;　書式付き文書を入力するためには、RichTextBox コントロール を使用するのが、とりあえず楽かな、と。問題は、TWIPS で計算するところ。Google で、「twips」を検索すると、ピクセル値に「1400 / PixcelPerInch」を掛けた値を指定すればいいことがわかる。って、画面の「解像度」ですか！？&lt;/P&gt;&lt;BR&gt;
&lt;P&gt;　「インデント」「文字スタイル」などは、プロパティが用意されているので、比較的容易に実現可能。「タブ位置」については、「これからタブ位置は、これこれの位置に指定しますよ」という設定を、まずしておかなければならないらしい。&lt;/P&gt;&lt;BR&gt;
&lt;P&gt;　次に、「絵」。これは、EnableAutoDragDrop プロパティ を True にすれば、自動で出来るらしい。&amp;#8230;ダメだ。Word でいうところの、「アイコンで表示」になる。。。Word で作った RTF と、RichTextBox の Rtf プロパティ の内容を比べると、どうも「オブジェクト」ととしてドロップされたらしい。Word では、ドロップされたものを何らかの変換をしているらしい。　とりあえず、RTF の仕様書を調べ、picture に関する記述を見る。ふむふむ。決まり文句を２～３ならべ、１６進表記したファイルの内容を並べればいいらしい。&lt;/P&gt;&lt;BR&gt;
&lt;P&gt;　RichTextBox の方は、SelectedRtf プロパティ に、選択されている文字列の RTF 形式が入っており、設定すれば選択されている文字列が置き換わるらしい。なるほど。早速、DragDrop イベント をハンドルして、イメージの RTF 表記を放り込んでみる。&lt;BR&gt;&lt;SPAN class=messageFromSystem&gt;「形式が違います」&lt;/SPAN&gt;&lt;BR&gt;なんで？&lt;/P&gt;
&lt;P&gt;　どうも、完全な RTF を放り込む必要があるらしい。{\rtf1... から書いてある文字列を作り、放り込む。今度は例外が発生しない。が、絵は表示されない。デバッガで追いかけると、次の行に行くと、SelectedRtf プロパティ は元の、何も選択されていない状態に戻っている。なんで？放り込もうとしている RTF をファイルに出して、 Word に読ませると期待通りの結果になるから、ここまでは間違っていないはずなんだけどなぁ。。。→普通に文字を放り込んでみるといけることから、pict のフォーマットが悪いらしい。&lt;/P&gt;
&lt;P&gt;　SelectedRtf がダメなら、Rtf 自身を編集してやれ！&amp;#8230;&amp;#8230;ダメだ。「カーソルがある位置」を算出するのが面倒くさい。いいや、最後に追加すれば。&amp;#8230;&amp;#8230;これもダメだ。Rtf に放り込んだ次の行で、Rtf が元に戻っている。なんではじかれるんだ？&lt;/P&gt;&lt;BR&gt;
&lt;P&gt;　仕方がないので、検索してみる。&lt;A href="http://www.ailight.jp/blog/myamyu/archive/2004/11/01/3023.aspx"&gt;みゃみゅ玉子さんところ&lt;/A&gt;が引っかかった。ひどりさんが、「WebBrowser を使う方が良い」とコメントされている。う～む。そうなのか。&lt;/P&gt;
&lt;P&gt;　早速、テストアプリを作ってみる。WebBrowser.Uri に、ローカルファイルを指定する。&lt;BR&gt;&lt;SPAN class=messageFromSystem&gt;「このファイルを開くか、または保存しますか？」&lt;/SPAN&gt; &lt;BR&gt;って、え？？あ、XP SP2 の影響か。しかし、ファイル、つまり項目を切り替えるごとにこれが出てくるのもなぁ。。。とにかく、開く。まぁ、Word があがるんだから、なんだって出来るわな。で、保存...嗚呼、プログラムから制御できないんじゃ？とりあえず、別のファイルを参照させて保存する。そのファイルを開く&amp;#8230;&amp;#8230;&amp;#8230;えっと、RTF って、テキストファイルの&amp;#8230;あ、ASCI 7bit の、可視文字の範囲でファイルが構成されるはずなんですけど？？？XML 出力したものも同じ。どうも、読み込んだときの形式や拡張子に関係なく、.doc 形式で上書きしているらしいorz 使えんやん！！&lt;/P&gt;&lt;BR&gt;
&lt;P&gt;　VB の大御所、魔界の仮面弁士さんが試してくださったところ、イメージが表示できるとのこと。あれれ？なんで？&amp;#8230;その後のやりとりで、魔界の仮面弁士さんは .NET Framework 1.1、私は .NET Framework 2.0β であることが判明。って、1.1 ではドラッグドロップでいけるって？？&lt;/P&gt;
&lt;P&gt;　早速 Virtual PC 2004 に XP と Visual Studio.NET 2003 をインストールし、試す。おわっ！VS.NET2003 では、EnableAutoDragDrop なんて、便利なプロパティがなかった。。。&lt;/P&gt;
&lt;P&gt;　そういえば、「クリップボードに入れて、ペースト」なんて言葉もあったなぁ、、、と、RichTextBox.Paste メソッド を試してみる。あかん。Win32API 呼び出しでエラーが発生している。しかも、&lt;BR&gt;&lt;SPAN class=messageFromSystem&gt;「FORMATETC 構造体が無効です (HRESULT からの例外: 0x80040064 (DV_E_FORMATETC))」&lt;/SPAN&gt;&lt;BR&gt;ってなんですか？そんなプロパティ、設定できませんが？&lt;/P&gt;&lt;BR&gt;
&lt;P&gt;　Word では表示できるなら、Word で読み込んでから保存したものと比べてみよう。ということで、比べてみました。違いは、「nonshppict」という要素のあるなし、だと思うんだけどなぁ。。。えっと、、、「その他のリーダーに対する互換性」&amp;#8230;これ？&lt;/P&gt;&lt;BR&gt;
&lt;P&gt;　こまったなぁ。。。WordprocessingML (WordML) 形式で保存（取り出し）できる WYSIWYG なエディット コンポーネントって、ないかしら？やっぱり、&lt;A href="http://www.microsoft.com/japan/msdn/vbasic/migration/tips/OLE/"&gt;OLE 連携&lt;/A&gt;は残しておいて欲しかった&lt;/P&gt;&lt;BR&gt;
&lt;P&gt;　せっかくなので、イメージファイルを RTF に変換するコードを貼っておく。イメージは、PNG 形式に変換されます。&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
private string GetImageByRTF(string fileName) {
 System.Text.StringBuilder imgRtf = new StringBuilder();
 imgRtf.Append(@"\*\shppict{\pict\pngblip");
 // メモリストリームに PNG 形式で保存し、Byte 配列に取り出す
 System.IO.MemoryStream memStrm = null;
 byte[] imageByteArray;
 try {
  Image img = null;
  memStrm = new System.IO.MemoryStream();
  try {
   // この辺、無チェックなのは要注意
   img = Image.FromFile(fileName);
   imgRtf.AppendFormat(@"\picw{0:d}", img.Width);
   imgRtf.AppendFormat(@"\pich{0:d}", img.Height);
   // ストリームに格納
   // windows meta file だといけるのかもしれない。でも、Wmf を指定すると、例外が発生するのよ
   img.Save(memStrm, System.Drawing.Imaging.ImageFormat.Png);
   memStrm.Flush();
  } finally {
   if (img != null) { img.Dispose(); }
  }
  // ストリームから取り出す
  memStrm.Position = 0;
  imageByteArray = memStrm.ToArray();
  memStrm.Close();
 } finally {
  if (memStrm != null) { memStrm.Dispose(); }
 }
 // メモリストリームから取り出した Byte 配列を、文字列にする
 imgRtf.Append("\n");
 for (int idx = 0; idx &amp;lt; imageByteArray.Length; idx++) {
  // 適当に改行する方が見やすい（Word 等は 64 バイトごとに改行している）
  imgRtf.AppendFormat("{0:x2}", imageByteArray[idx]);
 }
 imgRtf.Append("}");
 string rtf =imgRtf.ToString();
 // このままだと RTF じゃないので、RTF の情報を足すこと
 return rtf;
}
&lt;/CODE&gt;&lt;/PRE&gt;&lt;img src ="http://blogs.wankuma.com/jitta/aggbug/19254.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Jitta &lt;jitta@sky.sannet.ne.jp&gt;</dc:creator><title>Visual Studio 2005 って、わかりづらくないですか？</title><link>http://blogs.wankuma.com/jitta/archive/2005/11/07/19118.aspx</link><pubDate>Mon, 07 Nov 2005 20:35:00 GMT</pubDate><guid>http://blogs.wankuma.com/jitta/archive/2005/11/07/19118.aspx</guid><wfw:comment>http://blogs.wankuma.com/jitta/comments/19118.aspx</wfw:comment><comments>http://blogs.wankuma.com/jitta/archive/2005/11/07/19118.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/jitta/comments/commentRss/19118.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/jitta/services/trackbacks/19118.aspx</trackback:ping><description>&lt;P&gt;　いろんなバージョンがあるんですよね。&lt;/P&gt;
&lt;P&gt;　まず、大きく、「&lt;STRONG&gt;Visual Studio 2005 Team System&lt;/STRONG&gt;」と、それ以外に分かれます。それ以外には、「&lt;STRONG&gt;Express Edition&lt;/STRONG&gt;」「&lt;STRONG&gt;Standard Edition&lt;/STRONG&gt;」「&lt;STRONG&gt;Professinal Edition&lt;/STRONG&gt;」があります。&lt;BR&gt;　この他に、基本的に Professional Edition と同等ですが、Office との連携に特化した、または Office Developer Edition の後継である、「&lt;STRONG&gt;Visual Studio Tools for Office&lt;/STRONG&gt;(&lt;EM&gt;VSTO&lt;/EM&gt;)」があります。&lt;BR&gt;# ここまでのネタ元 &lt;A href="http://www.microsoft.com/japan/msdn/vstudio/2005/productinfo/productline/default.aspx"&gt;http://www.microsoft.com/japan/msdn/vstudio/2005/productinfo/productline/default.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;　「&lt;STRONG&gt;Visual Studio 2005 Team System&lt;/STRONG&gt;」は「サーバ」と「クライアント」に分かれます。クライアントは、「&lt;STRONG&gt;Visual Studio 2005 Team Edition for Software Architects&lt;/STRONG&gt;(&lt;EM&gt;VSTA&lt;/EM&gt;)」「&lt;STRONG&gt;Visual Studio 2005 Team Edition for Software Developers&lt;/STRONG&gt;(&lt;EM&gt;VSTD&lt;/EM&gt;)」「&lt;STRONG&gt;Visual Studio 2005 Team Edition for Software Testers&lt;/STRONG&gt;(&lt;EM&gt;VSTT&lt;/EM&gt;)」と、これら３つの統合である「&lt;STRONG&gt;Visual Studio 2005 Team Suite&lt;/STRONG&gt;(&lt;EM&gt;VSTS&lt;/EM&gt;)」に分かれます。また、「&lt;STRONG&gt;Visual Studio 2005 Team Edition for Software Testers&lt;/STRONG&gt;」に追加する形で「&lt;STRONG&gt;Visual Studio 2005 Team Test Load Agent&lt;/STRONG&gt;」があります。&lt;BR&gt;　サーバには、「&lt;STRONG&gt;Visual Studio 2005 Team Foundation Server&lt;/STRONG&gt;」があります。&lt;BR&gt;# ここまでのネタ元 &lt;A href="http://www.microsoft.com/japan/msdn/howtobuy/vs2005/editions/team/default.aspx"&gt;http://www.microsoft.com/japan/msdn/howtobuy/vs2005/editions/team/default.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG src=http://jitta.wankuma.com/matelials/VisualStudio.png /&gt;&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/jitta/aggbug/19118.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Jitta &lt;jitta@sky.sannet.ne.jp&gt;</dc:creator><title>インテリセンスによる、メソッド名などの置き換え動作について</title><link>http://blogs.wankuma.com/jitta/archive/2005/10/31/18924.aspx</link><pubDate>Mon, 31 Oct 2005 20:51:00 GMT</pubDate><guid>http://blogs.wankuma.com/jitta/archive/2005/10/31/18924.aspx</guid><wfw:comment>http://blogs.wankuma.com/jitta/comments/18924.aspx</wfw:comment><comments>http://blogs.wankuma.com/jitta/archive/2005/10/31/18924.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/jitta/comments/commentRss/18924.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/jitta/services/trackbacks/18924.aspx</trackback:ping><description>&lt;P&gt;　Validate および Vote をお願いします（最近こればっか。。。）&lt;BR&gt;&lt;/P&gt;&lt;A href="http://lab.msdn.microsoft.com/ProductFeedback/viewfeedback.aspx?feedbackid=f4192040-1f0a-4b9d-8c9e-77bb82881e86"&gt;エディタでの、マウスボタンダブルクリックによる選択範囲について&lt;/A&gt; 
&lt;P&gt;　VS2005 では、選択範囲について、インテリジェントな制御が行われています。マウスボタンをダブルクリックすると、クリックしたところにある&amp;#8220;単語&amp;#8221;が選択されます。英語では単語の区切りには空白文字がありますが、日本語にはありません。そのため、「漢字」「ひらがな」「数字」など、文字種別が変わるところが、&amp;#8220;単語&amp;#8221;の区切りとして認識されます。&lt;BR&gt;　しかし、VS2005 のソースコードエディタでは、メソッド名やコントロール名に日本語とアルファベットが混在していても、メソッド名やコントロール名すべてを&amp;#8220;単語&amp;#8221;として認識してくれます。たとえば、「登録button」という名前のコントロールを作成します。「登録」付近でダブルクリックした場合、VS.NET2003 の場合、「登録」だけが選択されますが、VS2005 では、「登録button」全体が選択されます。&lt;BR&gt;　文字列選択中に何か入力を行うと、選択範囲全体に対して、その入力が適用されます。コピーなら選択範囲がクリップボードにコピーされますし、カットなら選択範囲全体が削除されます。同じように、インテリセンスから入力した場合も、選択範囲全体が置き換わり&amp;#8230;ません、というバグです。&lt;BR&gt;　その後の調査で、選択は関係なく、カーソルの位置が関係していることがわかりました。ダブルクリックで選択すると、カーソルが単語の一番最後に移動しますから、それで発生しているようですね。&lt;/P&gt;
&lt;P&gt;　「this」がForm で、"|"をカーソルとし、インテリセンスから選択した、WndProc に置き換えるとすると、&lt;/P&gt;
&lt;P&gt;this.|あいうabc → this.WndProcあいうabc&lt;BR&gt;this.あいう|abc → this.WndProc&lt;BR&gt;this.あいうabc| → this.あいうWndProc&lt;/P&gt;
&lt;P&gt;のような置き換え動作が行われます。まぁ、「選択せずに、カーソルを途中に置いて[CTRL]+[J]」をすれば、回避は出来るのですけど。。。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/jitta/aggbug/18924.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Jitta &lt;jitta@sky.sannet.ne.jp&gt;</dc:creator><title>イメージリソースを貼り付けるときの注意</title><link>http://blogs.wankuma.com/jitta/archive/2005/10/28/18864.aspx</link><pubDate>Fri, 28 Oct 2005 19:32:00 GMT</pubDate><guid>http://blogs.wankuma.com/jitta/archive/2005/10/28/18864.aspx</guid><wfw:comment>http://blogs.wankuma.com/jitta/comments/18864.aspx</wfw:comment><comments>http://blogs.wankuma.com/jitta/archive/2005/10/28/18864.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/jitta/comments/commentRss/18864.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/jitta/services/trackbacks/18864.aspx</trackback:ping><description>&lt;P&gt;　Validate と Vote をお願いします（笑）&lt;BR&gt;&lt;A href="http://lab.msdn.microsoft.com/ProductFeedback/viewFeedback.aspx?feedbackId=FDBK39411"&gt;イメージリソースの選択が出来ないことがある&lt;/A&gt;&lt;BR&gt;やっぱり、害は少ないんですけどね。&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;&lt;BR&gt;&lt;EM&gt;button 等のイメージが貼り付けられるコントロールで、リソースの選択場所が、そのコントロールが所属するプロジェクトではなく、ソリューションエクスプローラで選択されているファイルがあるプロジェクトになる。&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P dir=ltr&gt;&amp;nbsp;&lt;/P&gt;
&lt;P dir=ltr&gt;11/21 追記&lt;/P&gt;
&lt;P dir=ltr&gt;開発チームの方から「再現しない」と再三言われ、「なんでだよぉ、すぐに出るじゃん」とか思っていたら、オプション設定だった！！&lt;/P&gt;
&lt;P dir=ltr&gt;[ツール → オプション → プロジェクトおよびソリューション → 全般 → ソリューションエクスプローラでアクティブなアイテムを記録する]&lt;/P&gt;
&lt;P dir=ltr&gt;これにチェックが入っていると、再現しません。フォームデザイナのボタンをクリックすると、ソリューションエクスプローラの選択が、フォームに移動するから。&lt;BR&gt;&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/jitta/aggbug/18864.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>