よろしくお願いします。
VC++2008 Vista でメニューのCaptionを
「元に戻す」を「Undo]に変更したのですが
コンパイルして実行すると表示が「元に戻す」のまま表示されます。
プロジェクトの.rcの中をみるときちんと「Undo]に変わっています。
ソリューションのクリーン、ソリューションのリビルドを行ったり、
.aspファイル,.ncbファイル,Debugフォルダーを手で削除して
リコンパイルを行ってみたのですが、さっぱり変わりません。
VC++2008は変更前のデータをどこかほかに持っているようなのですが
どこをクリアすればよいのでしょうか
それともこれは真夏の昼の幻影なのでしょうか
vista版はよく分からないので、気がつくところだけ
> .aspファイル,.ncbファイル,Debugフォルダーを手で削除して
> リコンパイルを行ってみたのですが、さっぱり変わりません。
VCを終わらせてから削除しましたか?
あと、VCの入っているドライブ(多分Cドライブだよね。)をchkdsk
見たらどうでしょうか。「修復する」をチェックして。
あと、vistaをUSBメモリから起動とかしてないですね。
多分動作不安定だと思います。
メモリーは,2G以上搭載したほうがいいようです。
XPは1Gあれば「かなり安定」ですが、vistaは1Gで「かろうじて安定」みたいです。
あと、権限のあるユーザーでOSを起動するとかいろいろあるみたいですね。(vista)
>VCを終わらせてから削除しましたか?
あたりまえです。
>あと、VCの入っているドライブ(多分Cドライブだよね。)をchkdsk
>見たらどうでしょうか。「修復する」をチェックして。
プロジェクト内を検索する限り、「元に戻す」が存在するデータがみつからなかったの
で、VC++2008はどこかほかにデータを持っているのだろうと考えて質問しています。
なぜ、chkdskで修復するを選べをいうのか回答の意味がわかりません。
>メモリーは,2G以上搭載したほうがいいようです。
>XPは1Gあれば「かなり安定」ですが、vistaは1Gで「かろうじて安定」みたいです。
メモリが少ないとコンパイルの結果が変わるのでしょうか?
ものすごく重大なバグですね。
なぜ、こういった回答になるのか根拠をお教えください。
ちなみに私のメモリは2Gです
回答者の程度が知れる回答は必要ありません。
原因は分かりませんが私の問題は解決しました。
・メニューのCaptionのみの変更では作成されるexeのメニューの文字は変更されません
でした。
・メニューに1行別の項目を追加してコンパイルしたところメニューが変更され、
Captionも指定した値に変更されました。
これが解決したことにより、以下の問題も解決しました。
・デバック実行時に常に「ソースが変更されれているの再コンパイルするか」と聞か
れ、毎度毎度コンパイルをやり直してから実行になっていたのですが、解消されまし
た。
・ブレークポイントも「元のバージョンと完全に一致するソースファイルを必要とす
る」をOFFにしないと有効にならないソースがあったのですが、こちらも解消されまし
た。
以下、想像です
Vsual Studioは2005あたりから、どこかに元のバージョンのソースを持っていてデバッ
クのブレークポイントに使用し、コンパイル時のリソースも.RCファイルを使用せずに、
どこかに隠しもった「元のバージョンのソース」を参照しているような気がします。
今回はリソースが元のバージョンと合わない状態になっていたようなのですが、「元の
バージョンのソース」ってどこにもっているのでしょう?
引き続きこの答えを求めたいのですが、どなたかご存じでしょうか?
>回答者の程度が知れる回答は必要ありません。
仮にも回答してくれた人に対してこのような暴言を吐く人に、回答をする気にはなれま
せんね。
> 仮にも回答してくれた人に対してこのような暴言を吐く人に、
> 回答をする気にはなれませんね。
あさん、ありがとうございます。
まぁー、他の人の手助けになれば幸いかと思います。
>きゆろひ 2009/08/10(月) 01:35:45
ビルドモード間違ってませんか?
リリースモードとデバックモード
リリースモードでビルドして、(出力策:release)
デバック実行すると、実行EXEは、DEBUGフォルダから実行されますが
更新日のチェックってしてみましたかね?
ソース管理機能は使ってませんか?
.RCの直接編集なんてしてませんよね?
>「元のバージョンのソース」
プロジェクトワークスペースに持っているんじゃ無かったっけ?
2008は最近入手でまだ、昔のソースをビルドした程度なので
過去のうろ覚え記憶を基にした回答ですけど
参考になりますかね
回答者の程度が知れる、回答であしからず
VS2008(SP1) OS:XP
プロジェクトの設定にFeaturePackで追加された機能を使っていた
以上の条件で、そっくりな現象にあったことがあります。
このときは、作成されたexeを直接調べてみたところ
exe内のリソースはきちんと更新されていました。
よって、VSの問題ではないと判断し、別のところを調べたところ
情報が残っていたのでこれを削除することで解決しました
まぁ、上記の条件以外では起きないため
条件の違う質問者さんとは違う理由だとは思いますが・・・
とりあえず、参考までに
woodさん
>ビルドモード間違ってませんか?
>リリースモードとデバックモード
>リリースモードでビルドして、(出力策:release)
>デバック実行すると、実行EXEは、DEBUGフォルダから実行されますが
>> .aspファイル,.ncbファイル,Debugフォルダーを手で削除して
>> リコンパイルを行ってみたのですが、さっぱり変わりません。
上記の対応のときには消せるファイルとフォルダーをすべて消して
(残したのは .slnと.cppと.hと.rcと.vcprojとresフォルダです)
残ったテキストファイルをgrepして「元に戻す」という文字が残っていない
ことを確認した上でコンパイルして確認しました。
そうゆうことはなかったと思います。
(幽霊にあったような気分でしたので私も正常じゃなかったですけどね)
>ソース管理機能は使ってませんか
使用していません。
>.RCの直接編集なんてしてませんよね?
確認のために.rcのcaptionをエディタで直接変えて、リコンパイルをしてみました。
結果は一緒でしたので「.rcの変更が反映されない」というタイトルをつけています。
>プロジェクトワークスペースに持っているんじゃ無かったっけ?
プロジェクトワークスペースってVC6.0の.dsw、.dspのことでしょうか?
>回答者の程度が知れる、回答であしからず
質問に対しての回答をいただいています。ありがとうございます。
ryoさん
>プロジェクトの設定にFeaturePackで追加された機能を使っていた
>以上の条件で、そっくりな現象にあったことがあります。
ありがとうございます。
MFC FeaturePackって日本語版Visual Studio 2008 SP1には普通に入っていますよね。
同じ条件でしょうか?
>MFC FeaturePackって日本語版Visual Studio 2008 SP1には普通に入っていますよね。
>同じ条件でしょうか?
入ってます。
私が再現したのは、
FeaturePackにて追加された新しいMFCを利用してる場合に現象が発生し、
それらを使わない場合は発生しません。
細かく調べたわけじゃないので間違いがあるかもしれませんが、
FPで追加されたMFCに、エンドユーザーによるメニューのカスタマイズ機能があります。
これを使用するとしてプロジェクトを作った場合、
作成したアプリケーションを1回でも起動/終了すると、
メニューの状態がOSに保存されます。
その後、VSでリソースを弄ろうとも、次にアプリケーションを起動したときには
まず保存されていたモノを読み込むようです。
#ところで、SPはいれてあるのでしょうか?
#もしそうなら、SPによって環境が大きく変化してることが多いので、
#次からでいいので、環境を書くときにはSPについても書いといてください
#情報が少ないと、回答者側がどうしても手探りになります。
まさか「レジストリを消していない」とか言う
オチではないでしょうね(vv;)。
ありがとうございます。
私のプロジェクトはVisual Studio 2008 SP1 で新規に作成したMFCアプリケーションで
す。
アプリケーションの種類で視角スタイルと色をSP1で標準に選択されているVisual
Studio 2005のままとし、「視角スタイルの切り替えを有効にする」もデフォルトがONで
したので、まったく意識せずにメニューのカスタマイズ機能が有効となったプロジェク
トを作成していたため今回の現象となりました。
このままだとリリースはクリーンインストールした環境でコンパイルしてから出荷しな
いと怖いですね。
おかげで大変勉強になりました。
また、開発環境のバージョンなどは記載するのが当然でした。
申し訳ございませんでした。
ありがとうございました。解決とします。