VC.NET 2003 + Win Xpでプログラムを作成しています。
クラスビューウィンドウ上から右クリックで変数を追加しようとすると次のエラーがで
て変数の追加ができない状態になってしまいました。
<エラー>---------------------------------
「Internet Explorer スクリプトエラー」 のダイアログが表示する
ライン: 480
文字: 4
エラー:プロシージャの呼び出し、または引数が不正です。
コード: 0
URL:file://C:\Program files\Microsoft Visual Studio .NET 2003\VC7\
\VCWizards\MemVariableWiz\HTML\1041\default.html
このページのスクリプトを実行し続けますか? 「はい(Y)」「いいえ(N)」
--------------------------------------------
エラーが発生するファイルは特定なファイルのみで、CFormViewから派生したクラスで
す。
なお、手動での変数追加は問題なくできています。
以上、ご教授お願いします。
原因はたぶん
>なお、手動での変数追加は問題なくできています。
これです
VC6の場合ですけど
MFC APPWIZARD や クラスウィザードが生成したコメントを削除すると
ウィザードが次に起動されたとき、挿入位置の特定ができなくなり
処理不能となります
これと同じケースなのではないでしょうか?
有り難うございます。
ウィザードで作成されたヘッダーファイルに
変数を追加する位置を変えたらエラーがでなくなりました。
enum型の変数の定義位置を変えたらエラーがでなくなりました。
1の位置ではエラー
2の位置ではOK
でした。
<ウィザードで作成されたヘッダーファイル>
class CMyView : public CFormView
{
DECLARE_DYNCREATE(CMyView)
protected:
CMyView();
virtual ~CMyView();
<----- 1
public:
enum { IDD = IDD_MYVIEW };
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
<----- 2
protected:
virtual void DoDataExchange(CDataExchange* pDX);
DECLARE_MESSAGE_MAP()
};
1の位置でも、文法上問題が無いと思うのですが
enum { IDD = IDD_MYVIEW };
より先に定義するとだめみたいです。
VC.NETのバグですね
--
TKH
woodさんの仰るとおり、バグではなく仕様だと思いますよ。
VCはいろいろ目印にして、コードの挿入を行うので、その前提を破壊するような
手動のコード変更を行ったということでしょう。
まあ、不便とは言えますが…