• ベストアンサー

ClassViewからクラスが消えました。復旧方法を教えてください。

ClassViewからクラスが何故か消えてしまいました、復旧する方法を教えてください。(FileViewには.cppも.hもあります。) ダイアログを作りクラスウィザードでクラスを新規作成しそのクラスのソースファイルを直していた所、ClassViewからクラスが消えました。原因と復旧する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • mikaemi
  • ベストアンサー率50% (33/65)
回答No.1

http://kkkon.hp.infoseek.co.jp/tips/VC/classview.shtml というHPがありますが、いかがでしょうか?

Yachan2
質問者

お礼

早速試して見た結果、うまく行きました。 ClassViewにクラスが復帰しました。 大変助かりました、有り難うございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

たまに起きる現象ですよ ... 私のよくやる手は そのクラスのヘッダーファイルを表示させて 何か適当な変更を加え上書き保存します たいていの場合これで復活します ダメな場合は #1の紹介の手順を実行って感じでしょう

Yachan2
質問者

お礼

貴重なアドバイス有り難うございました。残念(?)ながらNo.1の 回答者の方法で復活しましたので、エラー状態を再現出来ません。 今度同じ問題が発生した場合にやってみます。 有り難うございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VC++6.0で、ダイアログを新規に作成し、クラスウィザードでそのダイ

    VC++6.0で、ダイアログを新規に作成し、クラスウィザードでそのダイアログにクラスを割り当てる時 「クラス"CAbcDlg"のファイル(..¥AbcDlg.h, ..¥AbcDlg.cpp)を開けません」という エラーメッセージが出て、新しいクラスを作れません。何故でしょうか? 注1)正しく作れることもあります。 注2)出来てしまったAbcDlg.hとAbcDlg.cppファイルを削除して、   同じ操作をすると新しいクラスは作れます。

  • C++Builderのクラス

    普段、新規アプリケーションの作成で、TForm1クラスでプログラミングしています。ここに、例えば、Xクラスなどを追加作成したいのですが、.hファイルに記述するのか、.cppファイルに記述すべきなのか教えてください。

  • VC++ 6.0 でのCMainFrameクラスの作り方を教えてくださ

    VC++ 6.0 でのCMainFrameクラスの作り方を教えてください OSはWindows XPです。 MainFrame.cpp MainFraem.h ファイルはどちらもない状態です。 新規作成方法を教えてください。

  • neroウィザード

    nero5を使っています。 いつも音楽CDをウィザードに沿って つくっているのですが、このたび、 写真のCDや、.cpp、.hなどの ファイルも保存したいなぁと思って .cppのファイルをneroウィザードの 「データCD」というところを選択して 焼いてみました。 ところが、出来上がってファイルを MVC++6.0で開いてみると、ClassView Infomation File にアクセスできないというエラーメッセージが 出てきます。これってちゃんと焼けてないということ ですよね?もしかして「データCD」ではなくて 「その他のCDフォーマット」というところを 選択するべきだったのでしょうか?? データCDとはどういうもののことを言うのでしょうか??

  • VisualStudio2005 C++ クラスの追加について

    C/C++カテゴリですが質問内容はVisualStudio(C++)です。 当該しそうなカテゴリがなかったのでこちらに質問させて頂きます^^ [プロジェクト]-[クラスの追加]からクラスを作成する際、クラス名などをウィザード上で入力したら、.cpp/.h ができますよね。 内容としては、コンストラクタとデストラクタが書かれています。 これに決まったファイルコメントを同時に出力したいと考えています。 下に出力イメージを記します。 test.hの中身 ----------------------------------------------------------------- /*************************************************** * testクラスの宣言 * @author : * @see : ***************************************************/ /*↑を一緒に出力したい*/ /*↓は今まで通りの出力*/ #pragma once class test { public: test(); ~test(); }; ----------------------------------------------------------------- こんなことできますでしょうか? ・クラス作成ウィザードの実態はこいつでここをこう拡張すればできる ・クラスのテンプレートなるものがいて、そこに書いてやればいい のような回答で結構です。 ご存知の方はご教授ください:-)

  • クラス間の変数について

    よろしくお願いします。 VC++のウィザードが自動生成するChildFrm.cpp内のクラスAとMainFrm.cpp内のクラスBの間で共通の変数int xxxを使いたいのですが、どこに宣言すれば良いのでしょうか? それともクラス間では、そのようなことは出来ないのでしょうか? ご存知の方教えてください。

  • Visual C++ 2005 MFCアプリのクラス作成について

    Windows XP SP3 Visual C++ 2005 pro MFCアプリケーション シングルドキュメント 以上の環境でアプリケーションを作りたいと思っています。 C++は、C言語をベースという意味ではそれなりにはわかっているつもりです(自信はないですが...)。 本当はSDKを学んだ方がよろしいんでしょうが、時間の都合上MFCでやることにしました。 ちなみに、VC++を使ったプログラミングは初めてのものです。 そこで質問なのですが、 通常のC++においてクラスを作るときは、cppファイルとhファイルで分けてつくってmainのcppでインクルードしますよね。 VC++ MFCも 「C++クラスの追加」 でウィザードを利用してあるクラスAを作成てみまして、わかる方にはわかるでしょうけど、もちろん以下のように出力されました。 A.h------------------ #pragma once class A { public: A(void); public: ~A(void); }; A.cpp---------------------- #include "A.h" #include "StdAfx.h" A::A(void) { } A::~A(void) { } そしてとりあえず、その状態で何も手を加えずにとりあえずコンパイルにかけてみたところいきなり以下のようなエラーが出ました。 error C2653: 'A' :識別子がクラス名でも名前空間名でもありません。 error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません warning C4508: 'A' : 関数に戻り値の型が指定されていません。戻り値を void 型と見なします。 error C2653: 'A' : 識別子がクラス名でも名前空間名でもありません fatal error C1903: 直前のエラーを修復できません。コンパイルを中止します 何も手を加えていない状態でこのようなエラーが出るということは、どこかでこのhやcppをインクルードする必要があるのだろうとは思います(でもそういう類のことはウィザードで作成した際に、VC++が自動でコーディングしてくれたりしないのでしょうかね...)。 むしろ、MFCでこのような単純なC++クラスを作ること自体があまり好まれないことなのでしょうか。 もちろんこのクラスを作っていってから、ある処理をさせていこうと思っているので、自分としては以前から行っていたC++のようにコーディングしていきたいと思うのですが、もし好ましくないようならどのファイルにMFC的ではない、ただのC++的なクラスを定義したりすればよろしいのでしょうか。 もしくは、好ましくなくても何らかの対処方法があれば教えていただきたく思います。 Webで調べても MFCクラスの作成などのことしか書いてないので、ちょっとわからなくて困っています。よろしくお願いします。

  • Visual C++ 6.0 でクラス表示が消えてしまう

    『3週間完全マスターVisual C++ 6.0 』という本を参考に、Mouse という以下のプロジェクトを始めました。 Mouse のアプリケーションタイプ: 以下に示すターゲットのダイアログベースアプリケーション: Win32 作成されるクラス: アプリケーション: CMouseApp クラス ; Mouse.h , Mouse.cpp ダイアログ: CMouseDlg クラス ; MouseDlg.h , MouseDlg.cpp 特徴: + システムメニューにバージョン情報を付加 + 3D コントロール + 共有 DLL を使用 (MFC42.DLL) + ActiveX コントロールのサポート + リソースの言語: 日本語 発生している問題は、この中の CMouseDlg というクラスにメンバー変数を追加するためにワークスペースウィンドウの ClassView タブを選択し、Mouse クラスのツリーを展開したのですが、CAboutDlg, CMouseApp, グローバルという3つのクラスしか表示されず、肝心の CMouseDlg というクラスが全く表示されず、メンバー変数を追加したくてもできない、という状況です。ソースファイル内を探せば確かに CMouseDlg クラスは存在する(正確にはMouseDlg.hというヘッダーファイル内に)のですが、ワークスペースウィンドウ内に表示されない理由がわからず困っています。 もっと正確に言いますと、プロジェクトを開始した直後にワークスペースウィンドウで Mouse クラスのツリーを展開すると、ちゃんと CMouseDlg クラスは表示されるのですが、その後 ClassWizard を使って MouseDlg.cpp というインプリメンテーションファイル内にある、ある関数にコードを追加しようとすると、突然 CMouseDlg クラスがツリー表示から消えてしまいます。 どなたか理由のわかる方がいましたら御教授ください。説明が足りなければいくらでも補足します。宜しくお願いします。

  • ダイアログベースアプリのDLL化の方法について

    ダイアログベースで作成してあるアプリexeを DLL化するのですが、その方法が分かりません。 ダイアログの使用はやめるつもりです。 これまでやってみたことは、 プロジェクトのプロパティで、EXEファイルからDLLに設定を 変更しました。 http://hp.vector.co.jp/authors/VA019517/howtodll.html サンプルを見て、既存のソースに__stdcallなどを記載したいのですが DLLが作成されませんでした。 新規にプロジェクトを作成して、サンプル通りにやった場合は DLLが作成されました。 呼び出したい関数は、別々のファイルですが、 1つのファイルにまとめる必要がありますか? ダイアログベースはやめます。 この2つの関数は、同じDLLにします。 ↓DLL化するソース。ここを外部EXEから呼び出したい。 Test_aa_App.cpp --------------------------------------- CTest_aa_App::InitInctance(){ //初期化処理 } ↓呼び出し対象DLL Test_bb_Dlg.cpp -------------------------------- CTest_bb_Dlg::Test() { // 処理 } 初歩的なことだと思いますが、まず、どのように ソースを変更すれば良いか教えてください。 VS2003 C++6.0 よろしくお願いします。

  • 【VC++】クラスの追加方法について

    VC++の操作方法についての質問です。 現在、VC++2005を用いて、MFCダイアログベースアプリケーションを作成しています。 クラスの追加方法についての質問ですが、 「クラスビュー」⇒「プロジェクト」で右クリック⇒「追加」⇒「クラス」でウィザードに従って追加すると、 ウィザード内で基本クラスをコンボボックスより選択しなければならず、 この方法で追加すると、選択した基本クラスを継承する形でクラスが自動生成され、クラスビューにマップと基本型が追加されます。 現在作成に当たって参照しているサンプルプログラムでは、新たにクラスが定義されているようですが、 マップと基本型は生成されておらず、基本クラスも定義されていないのです。 どのように操作すれば、サンプルのように基本クラスを定義せず、 マップと基本型も追加されずに、クラスを追加できるのでしょうか? また補足ですが、クラスを追加した後は、別の自分で定義した親クラスを継承させるようにコードを変更したいと思っております。 お分かりの方おられましたら、お手数ですがご教授お願い致します。