vc++6.0 Windows XPです。
ClassWizerdであるダイアログクラスXXXをひらこうとすると
「XXXクラスに対するClassWizerdエントリがClassWizerdデータベースファイル
D:\--------\aaa.clw内にないかまたは壊れています。」
というメッセージボックスが出現します。
その後に
【クラス情報の修正】というダイアログがでてきます。
で、
ヘッダファイルとインプリメントファイルを選択するようになってます。
ここに、XXX.cppとXXX.hを選択しOKボタンを押すと
「挿入セクションAFX_MSGがファイルXXX.h内に見つかりません。
ClassWizerdはこのクラスを編集またはインポートできません。」
というメッセージボックスがでてきます。
特に何もしてないのに何ででしょうか?
また、どうすれば元に戻りますか?
正常に表示できるクラスのヘッダを見てみてください。
//{{AFX_MSG(クラス名)
いろいろ
//}}AFX_MSG
という部分があるはずです。
XXX.h には、このような部分がありますか?
もちろんあります。
なんせ以前はOnInitDialog()やOnDestroy()など作成しました。
コンボボックスのコントロール変数など。
新たにOnOKなど追加しようとしたら
急にできなくなったのです。
意味不明です。
vc++6.0は長い事使っていますが、言われているような現象には出会ったことがありません。
AFX_MSGの部分の記述が他のきちんと認識できるヘッダファイルと違っていないか
確認するくらいしか思いつかないです。
そのファイル独自の記述(クラス名等)以外の部分で違いがあれば、それが原因でしょう。
その部分を何かの拍子に触ってしまったのかもしれません。
なぜ変わったのかは、KENBOさんのPCで起きた事なので何ともわかりかねますけれど。
一度、clwファイルを他のファイル名にリネームしてclwファイルを作り直してみても
良いかも知れません。
それでも問題のファイルだけが駄目なのであれば、そのファイルに原因がありそうな
気がします。
ファイルを比較しましたが同じでした。
序盤なので最初から作り直します。
ありがとうございますす。
解決しているようですが..........
VC6.0ですよね。
VC6.0はデバック中に例外が起きてとまると暴走する時があります。
(特にスレッド関係)
一度暴走すると復帰しない時があります。
(今回の例?)
その時の対策
1. ソースの入っているディレクトリー中のファイルで、
*.APT,OPT,*.CLW,*.NCB等を削除する。
プロジェクトファイル等は当然削除してはいけない。
2. ソースが入っているドライブと、VCが入っているドライブ
にスキャンディスクをかける。
3. *.CLWを作成します。
なるほど・・・
そういうこともあるんですね。
もう削除してしまったので確認できませんが・・・
次回から試してみます。
ありがとうございます。