VisualStudio2005を使用しています。
ダイアログを作成し、配置したコントロールに手動で変数を追加していたんですが、
22個めの変数を追加したところ、プログラムが落ちるようになりました。(ビルドは通ります)
エラー内容は、
Run-TimeCheckFailure #2 - Stack around the variable 'dlg' was corrupted
DoModalから帰って来たところでエラーが発生しているようですが…
変数の追加作業しかしていませんし、同じ作業の繰り返しだったのに、22個になったとたん落ちる理由がわかりません。
コントロール変数はいくつまで・など、数の制限でもあるのでしょうか。
このエラー内容は、どういった場合に(何が悪いと)発生するのでしょうか。
No.2ベストアンサー
- 回答日時:
リビルドしてみてください
たまにIDEが追加されたIDを認識できず正常にコンパイルできないときがあるみたいです。
それでもだめなら
resource.hを開いて
ID_BUTTON22の値を見てください
どっか重複するIDがあったりしませんか?
あるならばID_BUTTON22の値を重複しない値に変えてみる。
とりあえず思いつくことはそんなところです。
> リビルドしてみてください
> たまにIDEが追加されたIDを認識できず正常にコンパイルできないときがあるみたいです。
ありがとうございます。
おっしゃる通りリビルドをしてみたところ、
プログラムが落ちることはなくなりました。
こんなこともあるんですね。
勉強になりました。ありがとうございました!
No.1
- 回答日時:
そのエラーは宣言した配列の範囲を超えてアクセスしたときに出ます
エラーのでる部分のコードと変数の宣言を確認してみましょう
int dlg[10];
で
dlg[10] = 1;
とかするとエラーになります(dlg[0]~dlg[9]までしか確保されていない)
この回答への補足
さっそくの回答ありがとうございます。
配列ということでしたが、特に配列を使用している心当たりがないため、
コードを補足させて頂きます。
エラー部分は
void CProject::Test(){
CTestDlg dlg;
dlg.DoMoal();
}
上記でDoModalから帰ってきた部分です。
変数の追加は以下のようにしています。
-------------実装ファイル---------------------
void CTestDlg::DoDataExchange(CDataExcange* pDX){
DDX_Control( pDX, IDC_BUTTON1, m_vxStanderd)
:(略)
DDX_Control( pDX, IDC_BUTTON21, m_vxCustom5)
DDX_Control( pDX, IDC_BUTTON22, m_vxCustom6) //←★追加
}
-------------ヘッダーファイル------------------
public:
CButton m_vxStanderd;
:(略)
CButton m_vxCustom5;
CButton m_vxCustom5; //←★追加
上記の★印部分を追記すると落ち、それらを削除すると正常に戻ります。
たびたびすみませんが、お気づきの事などありましたら
教えて頂けるとありがたいです。
No.2の方のアドバイスどおりリビルドしたところ、
プログラムが落ちなくなり、無事に解決しました。
本当にありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 工学 音声合成を追加 3 2023/01/30 11:52
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 1 2022/06/18 21:20
- その他(プログラミング・Web制作) pythonのプログラムについての質問です。 1 2023/05/26 10:31
- Windows 10 数年前からWindows10 の Update ができないです。なぜですか? 7 2022/11/09 06:03
- HTML・CSS 依頼したWEBサイトの修正に追加料金がかかる 10 2022/10/24 09:31
- その他(病気・怪我・症状) 新型コロナの第7波 (オミクロン株BA.5メイン、BA.2.75少数ずつ拡大)が増加 波が発生する度 3 2022/08/03 17:02
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、写真のプログラムをどう直せ 2 2022/07/09 21:13
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- IT・エンジニアリング 不具合の現状認識をしないプログラマって信用できる人? できない人? 8 2023/07/28 09:09
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
python エラー
-
エクセルのエラーメッセージ「4...
-
適切な変換関数が存在しない???
-
Excelのエラーで困ってます。
-
fopen() がたまにNULLを返す
-
バッチからsqlplusの接続エラー...
-
sys/time.hのインクルードがで...
-
ACCESSのDate関数のエラー表示...
-
DLL関数を使ったプログラム
-
コンパイルできません。
-
Handlesについて
-
ビルド失敗 指定されたファイ...
-
multiple definitionというエラー
-
RightとLeft関数のライブ...
-
BC30002: 型 'ListItem' が定義...
-
VB.NETのWEBアプリでテキストボ...
-
左側がクラス、構造体、共用体...
-
新版 明解 C++ 入門編 につ...
-
HEWを使用しているのですが、こ...
-
LPCWSTRとchar
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
python エラー
-
エクセルのエラーメッセージ「4...
-
適切な変換関数が存在しない???
-
Excelのエラーで困ってます。
-
バッチからsqlplusの接続エラー...
-
fortranでプログラムを実行する...
-
HEWを使用しているのですが、こ...
-
コンパイルできません。
-
デバッグ中のエラーのことで教...
-
visual C++ でビルドの中止がで...
-
BC30002: 型 'ListItem' が定義...
-
Handlesについて
-
sys/time.hのインクルードがで...
-
ビルド失敗 指定されたファイ...
-
VB2008で定数に色の設定をした...
-
RightとLeft関数のライブ...
-
WindowsからLinuxへの移植
-
multiple definitionというエラー
-
HANDLEの宣言でのエラー
-
レコードセットをcloseする所で...
おすすめ情報