デバッグの途中で止まってしまう。 – プログラミング – Home

デバッグの途中で止まってしまう。
 
通知
すべてクリア

[解決済] デバッグの途中で止まってしまう。


mo
 mo
(@mo)
ゲスト
結合: 23年前
投稿: 4
Topic starter  

環境
os->WindowsXP
soft->Vc++6.0 MFC

HEAP[xxx.exe]: Invalid Address specified to RtlValidateHeap( 00A20000,
00A26A8C )

ダイアログを閉じるときに上のエラー?が出て止まります。(続行は出来る)
毎回出るというわけではなくINIファイル関連の操作をした後に閉じると
この事象がおきます。
このエラーはINIファイルをいくつも設定する必要が出てきたため
新たにファイル名を指定できるように変えたら出るようになりました。
INIファイルの名前を変えて保存したい場合このようなやり方は
まずいのでしょうか?

CWinApp* pApp = AfxGetApp(); //INIファイル呼び出し用
pApp->m_pszProfileName = filename; //ここを毎回変えています。(新たに追加した箇
所)
CString kekka;
pApp->GetProfileString(section, kategori, NULL);


引用未解決
トピックタグ
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

CWinAppのm_pszProfileNameの説明を見てください。


返信引用
mo
 mo
(@mo)
ゲスト
結合: 23年前
投稿: 4
Topic starter  

見ました。
ですがうまくいきませぬ
この場合はこんな感じに書けばいいんですよね?
pApp->m_pszProfileNameの名前を見てても
代入したとき値は変わりません

CString filename = d:\\somedir\\myini.ini;
CWinApp* pApp = AfxGetApp();

free((void*)pApp->m_pszAppName); //開放
pApp->m_pszProfileName = filename;
CString kekka;
pApp->GetProfileString(section, kategori, NULL);


返信引用
mo
 mo
(@mo)
ゲスト
結合: 23年前
投稿: 4
Topic starter  

とりあえずやりたいことは
INIファイルの名称を指定して読み込んだり書き込んだりすることが出来れば
解決なので、そちらの方法をご存知の方がいましたらお願いします。


返信引用
mo
 mo
(@mo)
ゲスト
結合: 23年前
投稿: 4
Topic starter  

つづり間違いでした

free((void*)pApp->m_pszAppName); //開放(間違い)
pApp->m_pszProfileName = filename;

free((void*)pApp->m_pszProfileName); //開放(正解)
pApp->m_pszProfileName = filename;


返信引用
sugar
 sugar
(@sugar)
ゲスト
結合: 24年前
投稿: 448
 

WindowsAPIを使った方が早そうですね。

::GetPrivateProfileString()
::SetPrivateProfileString()
など


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました